import { IInvoiceModelAttributes } from "../entity/invoice.entity";
import { IOrganizerModelAttributes } from "../entity/organizer.entity";
export interface IInvoiceResponse extends Omit<IInvoiceModelAttributes, "organizer"> {
    organizer: IOrganizerModelAttributes;
}
export interface IInvoicesResponse {
    invoices: IInvoiceResponse[];
    pagination: {
        total: number;
        page: number;
        limit: number;
        pages: number;
    };
}
export interface IInvoiceStatisticsResponse {
    counts: {
        pending: number;
        issued: number;
        paid: number;
        canceled: number;
        total: number;
    };
    amounts: {
        pending: number;
        issued: number;
        paid: number;
        total: number;
    };
    upcomingPayments: any[];
    organizerBreakdown?: Array<{
        organizerId: string;
        organizerName: string;
        pendingCount: number;
        issuedCount: number;
        paidCount: number;
        pendingAmount: number;
        issuedAmount: number;
        paidAmount: number;
    }>;
}
