import { IEventModelAttributes } from "./event.entity";
import { IOrganizerModelAttributes } from "./organizer.entity";
import { ISessionModelAttributes } from "./session.entity";
export interface IInvoiceModelAttributes {
    _id: string;
    organizer: string | IOrganizerModelAttributes;
    event: string | IEventModelAttributes;
    eventName: string;
    session: string | ISessionModelAttributes;
    amount: number;
    organizerCommission: number;
    tax: number;
    taxAmount: number;
    totalAmount: number;
    paymentAmount: number;
    currency: string;
    status: 'pending' | 'billing' | 'payment' | 'canceled' | "approval";
    paymentStatus: 'pending' | 'completed' | 'failed';
    invoiceNumber: string;
    description?: string;
    ticketCount: number;
    paymentDetails?: {
        method?: string;
        transactionId?: string;
        paidAt?: Date;
    };
    issuedAt?: Date;
    dueDate?: Date;
    createdAt: Date;
    updatedAt: Date;
}
