import { z } from 'zod'; declare const ExemptionPatternSchema: z.ZodObject<{ count: z.ZodNumber; sources: z.ZodArray, "many">; lastSeenAt: z.ZodString; sampleMessages: z.ZodArray; }, "strip", z.ZodTypeAny, { count: number; sources: ("shield" | "bot")[]; lastSeenAt: string; sampleMessages: string[]; }, { count: number; sources: ("shield" | "bot")[]; lastSeenAt: string; sampleMessages: string[]; }>; export declare const ExemptionLocalSchema: z.ZodObject<{ patterns: z.ZodRecord, "many">; lastSeenAt: z.ZodString; sampleMessages: z.ZodArray; }, "strip", z.ZodTypeAny, { count: number; sources: ("shield" | "bot")[]; lastSeenAt: string; sampleMessages: string[]; }, { count: number; sources: ("shield" | "bot")[]; lastSeenAt: string; sampleMessages: string[]; }>>; }, "strip", z.ZodTypeAny, { patterns: Record; }, { patterns: Record; }>; export type ExemptionLocal = z.infer; export type ExemptionPattern = z.infer; declare const SharedExemptionEntrySchema: z.ZodObject<{ patternId: z.ZodString; label: z.ZodString; reason: z.ZodString; promotedAt: z.ZodString; promotedBy: z.ZodEnum<["auto", "manual"]>; sampleMessages: z.ZodArray; }, "strip", z.ZodTypeAny, { label: string; reason: string; sampleMessages: string[]; patternId: string; promotedAt: string; promotedBy: "manual" | "auto"; }, { label: string; reason: string; sampleMessages: string[]; patternId: string; promotedAt: string; promotedBy: "manual" | "auto"; }>; export declare const ExemptionSharedSchema: z.ZodObject<{ version: z.ZodLiteral<1>; exemptions: z.ZodArray; sampleMessages: z.ZodArray; }, "strip", z.ZodTypeAny, { label: string; reason: string; sampleMessages: string[]; patternId: string; promotedAt: string; promotedBy: "manual" | "auto"; }, { label: string; reason: string; sampleMessages: string[]; patternId: string; promotedAt: string; promotedBy: "manual" | "auto"; }>, "many">; }, "strip", z.ZodTypeAny, { version: 1; exemptions: { label: string; reason: string; sampleMessages: string[]; patternId: string; promotedAt: string; promotedBy: "manual" | "auto"; }[]; }, { version: 1; exemptions: { label: string; reason: string; sampleMessages: string[]; patternId: string; promotedAt: string; promotedBy: "manual" | "auto"; }[]; }>; export type ExemptionShared = z.infer; export type SharedExemptionEntry = z.infer; export declare const EMPTY_LOCAL: ExemptionLocal; export declare const EMPTY_SHARED: ExemptionShared; export declare const PROMOTION_THRESHOLD = 3; export declare const LOCAL_FILE = "exemption-local.json"; export declare const SHARED_FILE = "exemptions.json"; export {}; //# sourceMappingURL=exemption-schema.d.ts.map