import { z } from 'zod';
/**
 * Policy engine name validation.
 * Pattern: ^[A-Za-z][A-Za-z0-9_]*$ max 48
 * Must begin with a letter, alphanumeric + underscores only.
 * @see API docs: PolicyEngine name constraints
 */
export declare const PolicyEngineNameSchema: z.ZodString;
/**
 * Policy name validation.
 * Pattern: [A-Za-z][A-Za-z0-9_]* min 1, max 48
 * Must begin with a letter, alphanumeric + underscores only.
 * @see API docs: Policy name constraints
 */
export declare const PolicyNameSchema: z.ZodString;
export declare const ValidationModeSchema: z.ZodEnum<{
    FAIL_ON_ANY_FINDINGS: "FAIL_ON_ANY_FINDINGS";
    IGNORE_ALL_FINDINGS: "IGNORE_ALL_FINDINGS";
}>;
export type ValidationMode = z.infer<typeof ValidationModeSchema>;
export declare const PolicySchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    statement: z.ZodString;
    sourceFile: z.ZodOptional<z.ZodString>;
    validationMode: z.ZodDefault<z.ZodEnum<{
        FAIL_ON_ANY_FINDINGS: "FAIL_ON_ANY_FINDINGS";
        IGNORE_ALL_FINDINGS: "IGNORE_ALL_FINDINGS";
    }>>;
}, z.core.$strip>;
export type Policy = z.infer<typeof PolicySchema>;
export declare const PolicyEngineSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    encryptionKeyArn: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        statement: z.ZodString;
        sourceFile: z.ZodOptional<z.ZodString>;
        validationMode: z.ZodDefault<z.ZodEnum<{
            FAIL_ON_ANY_FINDINGS: "FAIL_ON_ANY_FINDINGS";
            IGNORE_ALL_FINDINGS: "IGNORE_ALL_FINDINGS";
        }>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type PolicyEngine = z.infer<typeof PolicyEngineSchema>;
//# sourceMappingURL=policy.d.ts.map