import { IOrganizerModelAttributes } from "../entity/organizer.entity";
import { IUserModelAttributes } from "../entity/user.entity";
export interface IOrganizersRequest {
    status?: "pending" | "approved" | "rejected";
    name?: string;
    city?: string;
}
type OrganizerUserAttributes = Omit<IUserModelAttributes, "createdAt" | "updatedAt" | "lastLogin" | "loginAttempts" | "lockUntil" | "isActive" | "isTFAEnabled" | "_id" | "image" | "favorites" | "googlePassword" | "applePassword" | "otpSecret" | "shareCount">;
export interface IOrganizerCreateRequest extends Omit<IOrganizerModelAttributes, "_id" | "address" | "information" | "files" | "invoice" | "affiliate">, OrganizerUserAttributes {
    address: Pick<IOrganizerModelAttributes["address"], "city">;
    information: Pick<IOrganizerModelAttributes["information"], "title" | "commissionRate" | "isShowTotalRevenue">;
}
export interface IOrganizerUpdateRequest extends Omit<IOrganizerModelAttributes, "files">, OrganizerUserAttributes {
}
export interface IOrganizerRequest {
    id: string;
}
export interface IOrganizerDeleteRequest {
    id: string;
}
export interface IGetTotalRevenueRequest {
    id: string;
    startDate?: string;
    endDate?: string;
}
export interface IGetOrganizerTicketsRequest {
    id: string;
    status?: string;
}
export interface IFinanceReportRequest {
    id: string;
    startDate?: string;
    endDate?: string;
}
export interface IOrganizerFileUploadRequest {
    organizerId: string;
    file: any;
    fileType: "taxPlate" | "signatureDeclarations";
}
export interface IOrganizerPreSubmissionRequest {
    fullName: string;
    phone: string;
    email: string;
    organization: string;
    eventCount: string;
    message?: string | undefined;
    hasDifferentMarketplaces?: boolean;
}
export {};
