import { z } from 'zod';
export declare const departmentMemberSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    email: z.ZodOptional<z.ZodString>;
    employee_id: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodAny>;
    nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    first_name: z.ZodOptional<z.ZodString>;
    last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    role: z.ZodOptional<z.ZodEnum<{
        owner: "owner";
        admin: "admin";
        member: "member";
    }>>;
    status: z.ZodOptional<z.ZodEnum<{
        active: "active";
        deleted: "deleted";
        deactivated: "deactivated";
        terminated: "terminated";
        deceased: "deceased";
        resigned: "resigned";
    }>>;
    phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    work_phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
}, z.core.$strip>;
export declare const createDepartmentSchema: z.ZodObject<{
    name: z.ZodString;
    department_code: z.ZodString;
    description: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    department_head_id: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    status: z.ZodOptional<z.ZodEnum<{
        active: "active";
        inactive: "inactive";
        deleted: "deleted";
    }>>;
}, z.core.$strip>;
export declare const updateDepartmentSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    department_code: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>>;
    department_head_id: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>>;
    status: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
        active: "active";
        inactive: "inactive";
        deleted: "deleted";
    }>>>;
}, z.core.$strip>;
export declare const departmentResponseSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    department_code: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    department_head_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    department_head: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        email: z.ZodOptional<z.ZodString>;
        employee_id: z.ZodOptional<z.ZodString>;
        image: z.ZodOptional<z.ZodAny>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        first_name: z.ZodOptional<z.ZodString>;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        role: z.ZodOptional<z.ZodEnum<{
            owner: "owner";
            admin: "admin";
            member: "member";
        }>>;
        status: z.ZodOptional<z.ZodEnum<{
            active: "active";
            deleted: "deleted";
            deactivated: "deactivated";
            terminated: "terminated";
            deceased: "deceased";
            resigned: "resigned";
        }>>;
        phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        work_phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
        updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    }, z.core.$strip>>>;
    members: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        email: z.ZodOptional<z.ZodString>;
        employee_id: z.ZodOptional<z.ZodString>;
        image: z.ZodOptional<z.ZodAny>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        first_name: z.ZodOptional<z.ZodString>;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        role: z.ZodOptional<z.ZodEnum<{
            owner: "owner";
            admin: "admin";
            member: "member";
        }>>;
        status: z.ZodOptional<z.ZodEnum<{
            active: "active";
            deleted: "deleted";
            deactivated: "deactivated";
            terminated: "terminated";
            deceased: "deceased";
            resigned: "resigned";
        }>>;
        phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        work_phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
        updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    }, z.core.$strip>>>;
    members_count: z.ZodOptional<z.ZodNumber>;
    status: z.ZodOptional<z.ZodEnum<{
        active: "active";
        inactive: "inactive";
        deleted: "deleted";
    }>>;
    created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
}, z.core.$strip>;
export declare const departmentsResponseSchema: z.ZodArray<z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    department_code: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    department_head_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    department_head: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        email: z.ZodOptional<z.ZodString>;
        employee_id: z.ZodOptional<z.ZodString>;
        image: z.ZodOptional<z.ZodAny>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        first_name: z.ZodOptional<z.ZodString>;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        role: z.ZodOptional<z.ZodEnum<{
            owner: "owner";
            admin: "admin";
            member: "member";
        }>>;
        status: z.ZodOptional<z.ZodEnum<{
            active: "active";
            deleted: "deleted";
            deactivated: "deactivated";
            terminated: "terminated";
            deceased: "deceased";
            resigned: "resigned";
        }>>;
        phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        work_phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
        updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    }, z.core.$strip>>>;
    members: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        email: z.ZodOptional<z.ZodString>;
        employee_id: z.ZodOptional<z.ZodString>;
        image: z.ZodOptional<z.ZodAny>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        first_name: z.ZodOptional<z.ZodString>;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        role: z.ZodOptional<z.ZodEnum<{
            owner: "owner";
            admin: "admin";
            member: "member";
        }>>;
        status: z.ZodOptional<z.ZodEnum<{
            active: "active";
            deleted: "deleted";
            deactivated: "deactivated";
            terminated: "terminated";
            deceased: "deceased";
            resigned: "resigned";
        }>>;
        phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        work_phone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
        updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    }, z.core.$strip>>>;
    members_count: z.ZodOptional<z.ZodNumber>;
    status: z.ZodOptional<z.ZodEnum<{
        active: "active";
        inactive: "inactive";
        deleted: "deleted";
    }>>;
    created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
}, z.core.$strip>>;
export type createDepartmentDto = z.infer<typeof createDepartmentSchema>;
export type updateDepartmentDto = z.infer<typeof updateDepartmentSchema>;
export type departmentResponseDto = z.infer<typeof departmentResponseSchema>;
export type departmentsResponseDto = z.infer<typeof departmentsResponseSchema>;
