interface FindManyFilters {
    status?: string;
    scheduleStatus?: string;
    assignmentStatus?: string;
    createdBy?: string;
    page?: number;
    limit?: number;
    search?: string;
    excludeCancelled?: boolean;
    excludeConfirmed?: boolean;
}
interface ConfirmedFilters {
    page?: number;
    limit?: number;
    search?: string;
    scheduleStatus?: string;
    assignmentStatus?: string;
    sortField?: 'location' | 'scheduleStatus' | 'assignmentStatus' | 'scheduleDate';
    sortDirection?: 'asc' | 'desc';
}
interface LeadsRepository {
    findById(id: string): Promise<any>;
    findMany(filters: FindManyFilters): Promise<{
        items: any[];
        total: number;
        page: number;
        limit: number;
    }>;
    create(data: Record<string, unknown>): Promise<any>;
    update(id: string, data: Record<string, unknown>): Promise<any>;
    softDelete(id: string): Promise<any>;
    findConfirmedWithScheduleAndAssignment(filters: ConfirmedFilters): Promise<{
        items: any[];
        total: number;
        page: number;
        limit: number;
    }>;
}
export declare const leadsRepository: LeadsRepository;
export {};
//# sourceMappingURL=leads.repository.d.ts.map