export interface RevenueAttributionFilters {
  search?: string;
  status?: string;
  quotationType?: string;
  branch?: string;
  customer?: string;
  opportunity?: string;
  hot?: string;
  quotationDateFrom?: string | null;
  quotationDateTo?: string | null;
  includeCancelled?: boolean;
}

export interface RevenueAttributionSummary {
  customerId: string;
  customerCode: string;
  customerName: string;
  roleCode: string;
  revenue: number;
  quotationCount: number;
  quotationIds: string[];
}

export interface OutcomeRevenueFilters {
  dateFrom?: string | null;
  dateTo?: string | null;
  branch?: string | null;
  salesman?: string | null;
  productType?: string | null;
}

export interface OutcomeRevenueRecord {
  opportunityId: string;
  customerId: string;
  branchId: string | null;
  productType: string;
  assignedToUserId: string | null;
  revenue: number;
  closedAt: string | null;
}

export interface OutcomeBreakdownRow {
  key: string;
  label: string;
  count: number;
  revenue: number;
}

