import { z } from 'zod';
export declare const PolicySchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    category: z.ZodEnum<["image", "code", "security", "testing", "ui", "automation", "workflow", "custom", "quality", "infrastructure", "release", "safety"]>;
    level: z.ZodEnum<["REQUIRED", "RECOMMENDED", "OPTIONAL"]>;
    enforcementStage: z.ZodDefault<z.ZodEnum<["pre-exec", "post-exec", "review", "always"]>>;
    rawMarkdown: z.ZodString;
    convertedFormat: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    executableTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    tags: z.ZodArray<z.ZodString, "many">;
    createdAt: z.ZodEffects<z.ZodString, string, string>;
    updatedAt: z.ZodEffects<z.ZodString, string, string>;
    version: z.ZodNumber;
    isActive: z.ZodBoolean;
    priority: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    id: string;
    name: string;
    priority: number;
    version: number;
    createdAt: string;
    category: "custom" | "code" | "security" | "workflow" | "release" | "testing" | "infrastructure" | "ui" | "image" | "automation" | "quality" | "safety";
    level: "REQUIRED" | "RECOMMENDED" | "OPTIONAL";
    enforcementStage: "review" | "pre-exec" | "post-exec" | "always";
    rawMarkdown: string;
    tags: string[];
    updatedAt: string;
    isActive: boolean;
    convertedFormat?: string | null | undefined;
    executableTools?: string[] | undefined;
}, {
    id: string;
    name: string;
    version: number;
    createdAt: string;
    category: "custom" | "code" | "security" | "workflow" | "release" | "testing" | "infrastructure" | "ui" | "image" | "automation" | "quality" | "safety";
    level: "REQUIRED" | "RECOMMENDED" | "OPTIONAL";
    rawMarkdown: string;
    tags: string[];
    updatedAt: string;
    isActive: boolean;
    priority?: number | undefined;
    enforcementStage?: "review" | "pre-exec" | "post-exec" | "always" | undefined;
    convertedFormat?: string | null | undefined;
    executableTools?: string[] | undefined;
}>;
export type Policy = z.infer<typeof PolicySchema>;
export declare const PolicyExecutionSchema: z.ZodObject<{
    policyId: z.ZodString;
    toolName: z.ZodString;
    operation: z.ZodString;
    args: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    result: z.ZodAny;
    executedAt: z.ZodEffects<z.ZodString, string, string>;
}, "strip", z.ZodTypeAny, {
    args: Record<string, unknown>;
    policyId: string;
    toolName: string;
    operation: string;
    executedAt: string;
    result?: any;
}, {
    args: Record<string, unknown>;
    policyId: string;
    toolName: string;
    operation: string;
    executedAt: string;
    result?: any;
}>;
export type PolicyExecution = z.infer<typeof PolicyExecutionSchema>;
//# sourceMappingURL=policy.d.ts.map