import { z } from 'zod';
export declare const createHolidaySchema: z.ZodObject<{
    name: z.ZodString;
    holiday_type: z.ZodOptional<z.ZodEnum<{
        public: "public";
        company: "company";
        optional: "optional";
        religious: "religious";
        regional: "regional";
        observance: "observance";
        other: "other";
    }>>;
    start_date: z.ZodCoercedDate<unknown>;
    end_date: z.ZodCoercedDate<unknown>;
    is_recurring: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
    department_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
    description: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export declare const updateHolidaySchema: z.ZodObject<{
    name: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    holiday_type: z.ZodOptional<z.ZodEnum<{
        public: "public";
        company: "company";
        optional: "optional";
        religious: "religious";
        regional: "regional";
        observance: "observance";
        other: "other";
    }>>;
    start_date: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    end_date: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    is_recurring: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
    department_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
    description: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export declare const holidayFilterSchema: z.ZodObject<{
    start_date: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    end_date: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    from: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    to: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    holiday_type: z.ZodOptional<z.ZodEnum<{
        public: "public";
        company: "company";
        optional: "optional";
        religious: "religious";
        regional: "regional";
        observance: "observance";
        other: "other";
    }>>;
    department_id: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    is_recurring: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
    search: z.ZodOptional<z.ZodString>;
    page: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodNumber>>;
    limit: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodNumber>>;
    data_scope: z.ZodOptional<z.ZodEnum<{
        own: "own";
        all: "all";
    }>>;
}, z.core.$strip>;
export declare const holidayResponseSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    holiday_type: z.ZodOptional<z.ZodEnum<{
        public: "public";
        company: "company";
        optional: "optional";
        religious: "religious";
        regional: "regional";
        observance: "observance";
        other: "other";
    }>>;
    start_date: z.ZodOptional<z.ZodPipe<z.ZodDate, z.ZodTransform<string, Date>>>;
    end_date: z.ZodOptional<z.ZodPipe<z.ZodDate, z.ZodTransform<string, Date>>>;
    occurrence_date: z.ZodOptional<z.ZodString>;
    is_recurring: z.ZodOptional<z.ZodBoolean>;
    generated_from_recurring: z.ZodOptional<z.ZodBoolean>;
    description: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    departments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        department_code: z.ZodString;
    }, z.core.$strip>>>;
    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 holidaysResponseSchema: z.ZodArray<z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    holiday_type: z.ZodOptional<z.ZodEnum<{
        public: "public";
        company: "company";
        optional: "optional";
        religious: "religious";
        regional: "regional";
        observance: "observance";
        other: "other";
    }>>;
    start_date: z.ZodOptional<z.ZodPipe<z.ZodDate, z.ZodTransform<string, Date>>>;
    end_date: z.ZodOptional<z.ZodPipe<z.ZodDate, z.ZodTransform<string, Date>>>;
    occurrence_date: z.ZodOptional<z.ZodString>;
    is_recurring: z.ZodOptional<z.ZodBoolean>;
    generated_from_recurring: z.ZodOptional<z.ZodBoolean>;
    description: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    departments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        department_code: z.ZodString;
    }, z.core.$strip>>>;
    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 createHolidayDto = z.infer<typeof createHolidaySchema>;
export type updateHolidayDto = z.infer<typeof updateHolidaySchema>;
export type holidayFilterDto = z.infer<typeof holidayFilterSchema>;
export type holidayResponseDto = z.infer<typeof holidayResponseSchema>;
export type holidaysResponseDto = z.infer<typeof holidaysResponseSchema>;
