export declare const agentsService: {
    getById(id: string): Promise<import("mongoose").Document<unknown, {}, import("../../shared/models/Agent.model.js").IAgent, {}, {}> & import("../../shared/models/Agent.model.js").IAgent & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }>;
    getByUserId(userId: string): Promise<import("mongoose").Document<unknown, {}, import("../../shared/models/Agent.model.js").IAgent, {}, {}> & import("../../shared/models/Agent.model.js").IAgent & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }>;
    list(filters: {
        availability?: string;
        status?: string;
        page?: number;
        limit?: number;
    }): Promise<{
        items: (import("mongoose").FlattenMaps<import("../../shared/models/Agent.model.js").IAgent> & Required<{
            _id: import("mongoose").Types.ObjectId;
        }> & {
            __v: number;
        })[];
        total: number;
        page: number;
        limit: number;
    }>;
    /** Users with role agent who do not yet have an agent profile (for create-agent dropdown). */
    getAvailableUsersForProfile(): Promise<{
        _id: string;
        name: string;
        email: string;
    }[]>;
    create(data: {
        userId: string;
        phone?: string;
        skills?: string[];
        dailyCapacity?: number;
        experience?: string;
    }, actorId: string): Promise<(import("mongoose").Document<unknown, {}, import("../../shared/models/Agent.model.js").IAgent, {}, {}> & import("../../shared/models/Agent.model.js").IAgent & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }) | null>;
    update(id: string, data: Partial<{
        phone: string;
        skills: string[];
        availability: string;
        dailyCapacity: number;
        experience: string;
        status: string;
    }>, actorId: string): Promise<import("mongoose").Document<unknown, {}, import("../../shared/models/Agent.model.js").IAgent, {}, {}> & import("../../shared/models/Agent.model.js").IAgent & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }>;
    delete(id: string, actorId: string): Promise<{
        deleted: boolean;
    }>;
};
//# sourceMappingURL=agents.service.d.ts.map