import { UserRepository } from "../repositories/UserRepository.js";
export declare class StaffService {
    private readonly userRepository;
    constructor(userRepository?: UserRepository);
    createStaff(data: any): Promise<{
        name: string;
        id: bigint;
        email: string;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        mobileNo: string | null;
        roleId: bigint;
        profile: string | null;
    }>;
    getStaff(page?: number, limit?: number, search?: string, roleId?: bigint, status?: boolean): Promise<{
        data: {
            role: {
                name: string;
                id: bigint;
                createdAt: Date;
                updatedAt: Date;
            };
            name: string;
            id: bigint;
            email: string;
            status: boolean;
            createdAt: Date;
            updatedAt: Date;
            mobileNo: string | null;
            roleId: bigint;
            profile: string | null;
        }[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getStaffById(id: bigint): Promise<{
        role: {
            name: string;
            id: bigint;
            createdAt: Date;
            updatedAt: Date;
        };
        name: string;
        id: bigint;
        email: string;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        mobileNo: string | null;
        roleId: bigint;
        profile: string | null;
    }>;
    updateStaff(id: bigint, data: any, currentUserId?: bigint): Promise<{
        name: string;
        id: bigint;
        email: string;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        mobileNo: string | null;
        roleId: bigint;
        profile: string | null;
    }>;
    getRoles(): Promise<{
        name: string;
        id: bigint;
    }[]>;
}
//# sourceMappingURL=StaffService.d.ts.map