import { z } from 'zod';
export declare const taskOwnerTypeEnumSchema: z.ZodEnum<{
    hr: "hr";
    it: "it";
    manager: "manager";
    employee: "employee";
    finance: "finance";
}>;
export declare const priorityEnumSchema: z.ZodEnum<{
    low: "low";
    medium: "medium";
    high: "high";
    critical: "critical";
}>;
export declare const taskStatusEnumSchema: z.ZodEnum<{
    pending: "pending";
    in_progress: "in_progress";
    completed: "completed";
    skipped: "skipped";
}>;
export declare const offboardingCaseStatusSchema: z.ZodEnum<{
    cancelled: "cancelled";
    in_progress: "in_progress";
    completed: "completed";
    initiated: "initiated";
    pending_clearance: "pending_clearance";
    pending_settlement: "pending_settlement";
    ready_to_close: "ready_to_close";
}>;
export declare const offboardingReasonSchema: z.ZodEnum<{
    other: "other";
    resignation: "resignation";
    termination: "termination";
    retirement: "retirement";
    contract_end: "contract_end";
}>;
export declare const settlementStatusSchema: z.ZodEnum<{
    draft: "draft";
    approved: "approved";
    cancelled: "cancelled";
    under_review: "under_review";
    calculated: "calculated";
    included_in_payroll: "included_in_payroll";
    paid: "paid";
}>;
export declare const createOffboardingTemplateSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    is_active: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    tasks: z.ZodOptional<z.ZodArray<z.ZodObject<{
        title: z.ZodString;
        description: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
        owner_type: z.ZodDefault<z.ZodEnum<{
            hr: "hr";
            it: "it";
            manager: "manager";
            employee: "employee";
            finance: "finance";
        }>>;
        priority: z.ZodDefault<z.ZodEnum<{
            low: "low";
            medium: "medium";
            high: "high";
            critical: "critical";
        }>>;
        relative_due_days: z.ZodDefault<z.ZodNumber>;
        order_index: z.ZodDefault<z.ZodNumber>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type createOffboardingTemplateDto = z.infer<typeof createOffboardingTemplateSchema>;
export declare const createOffboardingCaseSchema: z.ZodObject<{
    member_id: z.ZodString;
    template_id: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    reason: z.ZodDefault<z.ZodEnum<{
        other: "other";
        resignation: "resignation";
        termination: "termination";
        retirement: "retirement";
        contract_end: "contract_end";
    }>>;
    last_working_date: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    notice_period_days: z.ZodDefault<z.ZodNumber>;
    notes: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type createOffboardingCaseDto = z.infer<typeof createOffboardingCaseSchema>;
export declare const updateOffboardingCaseSchema: z.ZodObject<{
    status: z.ZodOptional<z.ZodEnum<{
        cancelled: "cancelled";
        in_progress: "in_progress";
        completed: "completed";
        initiated: "initiated";
        pending_clearance: "pending_clearance";
        pending_settlement: "pending_settlement";
        ready_to_close: "ready_to_close";
    }>>;
    last_working_date: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    notice_period_days: z.ZodOptional<z.ZodNumber>;
    notes: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type updateOffboardingCaseDto = z.infer<typeof updateOffboardingCaseSchema>;
export declare const createOffboardingTaskSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    owner_type: z.ZodDefault<z.ZodEnum<{
        hr: "hr";
        it: "it";
        manager: "manager";
        employee: "employee";
        finance: "finance";
    }>>;
    assigned_member_id: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    due_date: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    priority: z.ZodDefault<z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        critical: "critical";
    }>>;
    order_index: z.ZodDefault<z.ZodNumber>;
    notes: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type createOffboardingTaskDto = z.infer<typeof createOffboardingTaskSchema>;
export declare const updateOffboardingTaskSchema: z.ZodObject<{
    title: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    description: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    owner_type: z.ZodEnum<{
        hr: "hr";
        it: "it";
        manager: "manager";
        employee: "employee";
        finance: "finance";
    }>;
    assigned_member_id: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    due_date: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    priority: z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        critical: "critical";
    }>;
    status: z.ZodEnum<{
        pending: "pending";
        in_progress: "in_progress";
        completed: "completed";
        skipped: "skipped";
    }>;
    notes: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type updateOffboardingTaskDto = z.infer<typeof updateOffboardingTaskSchema>;
export declare const addEquipmentReturnSchema: z.ZodObject<{
    item_name: z.ZodString;
    item_type: z.ZodDefault<z.ZodString>;
    serial_number: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    condition: z.ZodDefault<z.ZodString>;
    notes: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type addEquipmentReturnDto = z.infer<typeof addEquipmentReturnSchema>;
export declare const updateEquipmentReturnSchema: z.ZodObject<{
    condition: z.ZodOptional<z.ZodString>;
    returned_at: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    notes: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type updateEquipmentReturnDto = z.infer<typeof updateEquipmentReturnSchema>;
export declare const createExitInterviewTemplateSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    is_active: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    questions: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        question: z.ZodString;
        type: z.ZodEnum<{
            text: "text";
            long_text: "long_text";
            single_choice: "single_choice";
            multiple_choice: "multiple_choice";
            rating: "rating";
        }>;
        options: z.ZodOptional<z.ZodArray<z.ZodString>>;
        required: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type createExitInterviewTemplateDto = z.infer<typeof createExitInterviewTemplateSchema>;
export declare const submitExitInterviewSchema: z.ZodObject<{
    responses: z.ZodRecord<z.ZodString, z.ZodAny>;
    notes: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type submitExitInterviewDto = z.infer<typeof submitExitInterviewSchema>;
export declare const calculateFinalSettlementSchema: z.ZodObject<{
    gross_salary: z.ZodOptional<z.ZodNumber>;
    unused_leave_days: z.ZodOptional<z.ZodNumber>;
    daily_leave_rate: z.ZodOptional<z.ZodNumber>;
    severance_amount: z.ZodOptional<z.ZodNumber>;
    notice_pay_adjustment: z.ZodOptional<z.ZodNumber>;
    deductions_amount: z.ZodOptional<z.ZodNumber>;
    notes: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type calculateFinalSettlementDto = z.infer<typeof calculateFinalSettlementSchema>;
export declare const filterOffboardingCaseSchema: z.ZodObject<{
    page: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodDefault<z.ZodNumber>>;
    limit: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodDefault<z.ZodNumber>>;
    search: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    status: z.ZodOptional<z.ZodEnum<{
        cancelled: "cancelled";
        in_progress: "in_progress";
        completed: "completed";
        initiated: "initiated";
        pending_clearance: "pending_clearance";
        pending_settlement: "pending_settlement";
        ready_to_close: "ready_to_close";
    }>>;
    member_id: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type filterOffboardingCaseDto = z.infer<typeof filterOffboardingCaseSchema>;
