import { z } from 'zod';
export declare const AnnotationsPermissionSchema: z.ZodObject<{
    action: z.ZodEnum<["create", "delete", "read", "lock", "update"]>;
    resources: z.ZodDefault<z.ZodObject<{
        agency_ids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        agency_ids: string[];
    }, {
        agency_ids?: string[] | undefined;
    }>>;
    scope: z.ZodLiteral<"annotations">;
}, "strip", z.ZodTypeAny, {
    scope: "annotations";
    action: "create" | "delete" | "read" | "lock" | "update";
    resources: {
        agency_ids: string[];
    };
}, {
    scope: "annotations";
    action: "create" | "delete" | "read" | "lock" | "update";
    resources?: {
        agency_ids?: string[] | undefined;
    } | undefined;
}>;
export type AnnotationsPermission = z.infer<typeof AnnotationsPermissionSchema>;
export declare const EventsPermissionSchema: z.ZodObject<{
    action: z.ZodEnum<["create", "delete", "read", "lock", "update"]>;
    resources: z.ZodDefault<z.ZodObject<{
        agency_ids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        agency_ids: string[];
    }, {
        agency_ids?: string[] | undefined;
    }>>;
    scope: z.ZodLiteral<"events">;
}, "strip", z.ZodTypeAny, {
    scope: "events";
    action: "create" | "delete" | "read" | "lock" | "update";
    resources: {
        agency_ids: string[];
    };
}, {
    scope: "events";
    action: "create" | "delete" | "read" | "lock" | "update";
    resources?: {
        agency_ids?: string[] | undefined;
    } | undefined;
}>;
export type EventsPermission = z.infer<typeof EventsPermissionSchema>;
export declare const HolidaysPermissionSchema: z.ZodObject<{
    action: z.ZodEnum<["create", "delete", "read", "lock", "update"]>;
    resources: z.ZodDefault<z.ZodObject<{
        agency_ids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        agency_ids: string[];
    }, {
        agency_ids?: string[] | undefined;
    }>>;
    scope: z.ZodLiteral<"holidays">;
}, "strip", z.ZodTypeAny, {
    scope: "holidays";
    action: "create" | "delete" | "read" | "lock" | "update";
    resources: {
        agency_ids: string[];
    };
}, {
    scope: "holidays";
    action: "create" | "delete" | "read" | "lock" | "update";
    resources?: {
        agency_ids?: string[] | undefined;
    } | undefined;
}>;
export type HolidaysPermission = z.infer<typeof HolidaysPermissionSchema>;
export declare const YearPeriodsPermissionSchema: z.ZodObject<{
    action: z.ZodEnum<["create", "delete", "read", "lock", "update"]>;
    resources: z.ZodDefault<z.ZodObject<{
        agency_ids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        agency_ids: string[];
    }, {
        agency_ids?: string[] | undefined;
    }>>;
    scope: z.ZodLiteral<"year_periods">;
}, "strip", z.ZodTypeAny, {
    scope: "year_periods";
    action: "create" | "delete" | "read" | "lock" | "update";
    resources: {
        agency_ids: string[];
    };
}, {
    scope: "year_periods";
    action: "create" | "delete" | "read" | "lock" | "update";
    resources?: {
        agency_ids?: string[] | undefined;
    } | undefined;
}>;
export type YearPeriodsPermission = z.infer<typeof YearPeriodsPermissionSchema>;
