import { z } from 'zod';
export declare const createNoticeSchema: z.ZodObject<{
    title: z.ZodString;
    content: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    document: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<any, any>>>;
    status: z.ZodOptional<z.ZodEnum<{
        draft: "draft";
        published: "published";
        archived: "archived";
    }>>;
    priority: z.ZodOptional<z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        critical: "critical";
    }>>;
    created_by: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    published_at: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    expire_at: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    required_acknowledgment: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
    target_type: z.ZodOptional<z.ZodEnum<{
        department: "department";
        individual: "individual";
    }>>;
    department_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
    member_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const updateNoticeSchema: z.ZodObject<{
    title: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    content: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    document: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<any, any>>>>;
    status: z.ZodOptional<z.ZodEnum<{
        draft: "draft";
        published: "published";
        archived: "archived";
    }>>;
    priority: z.ZodOptional<z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        critical: "critical";
    }>>;
    created_by: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    published_at: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    expire_at: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    required_acknowledgment: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
    target_type: z.ZodOptional<z.ZodEnum<{
        department: "department";
        individual: "individual";
    }>>;
    department_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
    member_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const UpdateNoticeAcknowledgmentSchema: z.ZodObject<{
    member_id: z.ZodString;
    acknowledgment: z.ZodEnum<{
        up: "up";
        down: "down";
    }>;
}, z.core.$strip>;
export declare const noticeFilterSchema: z.ZodObject<{
    status: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
        draft: "draft";
        published: "published";
        archived: "archived";
    }>, z.ZodEnum<{
        active: "active";
        inactive: "inactive";
        deleted: "deleted";
    }>]>>, z.ZodTransform<"draft" | "published" | "archived", "active" | "inactive" | "deleted" | "draft" | "published" | "archived">>;
    priority: z.ZodOptional<z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        critical: "critical";
    }>>;
    required_acknowledgment: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
    from: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    to: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodCoercedDate<unknown>>>;
    department_id: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    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 noticeResponseSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    title: z.ZodOptional<z.ZodString>;
    content: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    document: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<{
        file_name: string;
        original_name: string;
        file_size: number;
        mime_type: string;
    }, any>>>;
    status: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
        draft: "draft";
        published: "published";
        archived: "archived";
    }>, z.ZodEnum<{
        active: "active";
        inactive: "inactive";
        deleted: "deleted";
    }>]>>, z.ZodTransform<"draft" | "published" | "archived", "active" | "inactive" | "deleted" | "draft" | "published" | "archived">>;
    priority: z.ZodOptional<z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        critical: "critical";
    }>>;
    created_by: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    published_at: z.ZodNullable<z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>>;
    expire_at: z.ZodNullable<z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>>;
    required_acknowledgment: z.ZodOptional<z.ZodBoolean>;
    target_type: z.ZodOptional<z.ZodEnum<{
        department: "department";
        individual: "individual";
    }>>;
    departments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        department_code: z.ZodString;
    }, z.core.$strip>>>;
    recipients: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        employee_id: z.ZodString;
        first_name: z.ZodString;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        image: z.ZodOptional<z.ZodAny>;
    }, z.core.$strip>>>;
    up_acknowledgment: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        employee_id: z.ZodString;
        first_name: z.ZodString;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        image: z.ZodOptional<z.ZodAny>;
    }, z.core.$strip>>>;
    down_acknowledgment: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        employee_id: z.ZodString;
        first_name: z.ZodString;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        image: z.ZodOptional<z.ZodAny>;
    }, 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 noticesResponseSchema: z.ZodArray<z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    title: z.ZodOptional<z.ZodString>;
    content: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    document: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<{
        file_name: string;
        original_name: string;
        file_size: number;
        mime_type: string;
    }, any>>>;
    status: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
        draft: "draft";
        published: "published";
        archived: "archived";
    }>, z.ZodEnum<{
        active: "active";
        inactive: "inactive";
        deleted: "deleted";
    }>]>>, z.ZodTransform<"draft" | "published" | "archived", "active" | "inactive" | "deleted" | "draft" | "published" | "archived">>;
    priority: z.ZodOptional<z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        critical: "critical";
    }>>;
    created_by: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    published_at: z.ZodNullable<z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>>;
    expire_at: z.ZodNullable<z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>>;
    required_acknowledgment: z.ZodOptional<z.ZodBoolean>;
    target_type: z.ZodOptional<z.ZodEnum<{
        department: "department";
        individual: "individual";
    }>>;
    departments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        department_code: z.ZodString;
    }, z.core.$strip>>>;
    recipients: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        employee_id: z.ZodString;
        first_name: z.ZodString;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        image: z.ZodOptional<z.ZodAny>;
    }, z.core.$strip>>>;
    up_acknowledgment: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        employee_id: z.ZodString;
        first_name: z.ZodString;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        image: z.ZodOptional<z.ZodAny>;
    }, z.core.$strip>>>;
    down_acknowledgment: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        employee_id: z.ZodString;
        first_name: z.ZodString;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        nickname: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        image: z.ZodOptional<z.ZodAny>;
    }, 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 createNoticeDto = z.infer<typeof createNoticeSchema>;
export type updateNoticeDto = z.infer<typeof updateNoticeSchema>;
export type noticeFilterDto = z.infer<typeof noticeFilterSchema>;
export type noticeResponseDto = z.infer<typeof noticeResponseSchema>;
export type noticesResponseDto = z.infer<typeof noticesResponseSchema>;
export type updateNoticeAcknowledgmentDto = z.infer<typeof UpdateNoticeAcknowledgmentSchema>;
