import { Prisma } from "../generated/prisma/client.js";
export declare class EmployeeRepository {
    create(data: Prisma.EmployeeUncheckedCreateInput): Promise<{
        name: string;
        id: bigint;
        mobile: string | null;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        employeeCode: string;
        designation: string | null;
    }>;
    findAll(skip?: number, take?: number, search?: string, status?: boolean): Promise<{
        items: {
            name: string;
            id: bigint;
            mobile: string | null;
            status: boolean;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            deletedAt: Date | null;
            employeeCode: string;
            designation: string | null;
        }[];
        total: number;
    }>;
    findById(id: bigint): Promise<{
        name: string;
        id: bigint;
        mobile: string | null;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        employeeCode: string;
        designation: string | null;
    } | null>;
    findByCode(employeeCode: string): Promise<{
        name: string;
        id: bigint;
        mobile: string | null;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        employeeCode: string;
        designation: string | null;
    } | null>;
    findByNameAndMobile(name: string, mobile?: string | null, excludeId?: bigint): Promise<{
        name: string;
        id: bigint;
        mobile: string | null;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        employeeCode: string;
        designation: string | null;
    } | null>;
    update(id: bigint, data: Prisma.EmployeeUpdateInput): Promise<{
        name: string;
        id: bigint;
        mobile: string | null;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        employeeCode: string;
        designation: string | null;
    }>;
    delete(id: bigint): Promise<{
        name: string;
        id: bigint;
        mobile: string | null;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        employeeCode: string;
        designation: string | null;
    }>;
    generateEmployeeCode(): Promise<string>;
}
//# sourceMappingURL=EmployeeRepository.d.ts.map