import { z } from 'zod';

declare const ContentSecurityPolicySchema: z.ZodObject<{
    "default-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "script-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "style-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "img-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "connect-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "font-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "object-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "media-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "frame-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    sandbox: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "report-uri": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "child-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "form-action": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "frame-ancestors": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "plugin-types": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "base-uri": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "report-to": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "worker-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "manifest-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "prefetch-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "navigate-to": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "require-sri-for": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "block-all-mixed-content": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "upgrade-insecure-requests": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "trusted-types": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
    "require-trusted-types-for": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
}, "strip", z.ZodTypeAny, {
    "default-src"?: string | boolean | string[] | undefined;
    "script-src"?: string | boolean | string[] | undefined;
    "style-src"?: string | boolean | string[] | undefined;
    "img-src"?: string | boolean | string[] | undefined;
    "connect-src"?: string | boolean | string[] | undefined;
    "font-src"?: string | boolean | string[] | undefined;
    "object-src"?: string | boolean | string[] | undefined;
    "media-src"?: string | boolean | string[] | undefined;
    "frame-src"?: string | boolean | string[] | undefined;
    sandbox?: string | boolean | string[] | undefined;
    "report-uri"?: string | boolean | string[] | undefined;
    "child-src"?: string | boolean | string[] | undefined;
    "form-action"?: string | boolean | string[] | undefined;
    "frame-ancestors"?: string | boolean | string[] | undefined;
    "plugin-types"?: string | boolean | string[] | undefined;
    "base-uri"?: string | boolean | string[] | undefined;
    "report-to"?: string | boolean | string[] | undefined;
    "worker-src"?: string | boolean | string[] | undefined;
    "manifest-src"?: string | boolean | string[] | undefined;
    "prefetch-src"?: string | boolean | string[] | undefined;
    "navigate-to"?: string | boolean | string[] | undefined;
    "require-sri-for"?: string | boolean | string[] | undefined;
    "block-all-mixed-content"?: string | boolean | string[] | undefined;
    "upgrade-insecure-requests"?: string | boolean | string[] | undefined;
    "trusted-types"?: string | boolean | string[] | undefined;
    "require-trusted-types-for"?: string | boolean | string[] | undefined;
}, {
    "default-src"?: string | boolean | string[] | undefined;
    "script-src"?: string | boolean | string[] | undefined;
    "style-src"?: string | boolean | string[] | undefined;
    "img-src"?: string | boolean | string[] | undefined;
    "connect-src"?: string | boolean | string[] | undefined;
    "font-src"?: string | boolean | string[] | undefined;
    "object-src"?: string | boolean | string[] | undefined;
    "media-src"?: string | boolean | string[] | undefined;
    "frame-src"?: string | boolean | string[] | undefined;
    sandbox?: string | boolean | string[] | undefined;
    "report-uri"?: string | boolean | string[] | undefined;
    "child-src"?: string | boolean | string[] | undefined;
    "form-action"?: string | boolean | string[] | undefined;
    "frame-ancestors"?: string | boolean | string[] | undefined;
    "plugin-types"?: string | boolean | string[] | undefined;
    "base-uri"?: string | boolean | string[] | undefined;
    "report-to"?: string | boolean | string[] | undefined;
    "worker-src"?: string | boolean | string[] | undefined;
    "manifest-src"?: string | boolean | string[] | undefined;
    "prefetch-src"?: string | boolean | string[] | undefined;
    "navigate-to"?: string | boolean | string[] | undefined;
    "require-sri-for"?: string | boolean | string[] | undefined;
    "block-all-mixed-content"?: string | boolean | string[] | undefined;
    "upgrade-insecure-requests"?: string | boolean | string[] | undefined;
    "trusted-types"?: string | boolean | string[] | undefined;
    "require-trusted-types-for"?: string | boolean | string[] | undefined;
}>;
type ContentSecurityPolicyType = z.infer<typeof ContentSecurityPolicySchema>;

declare global {
    interface CloudflareEnv extends Bindings {
    }
}
type Bindings = {
    DEBUG: string | boolean;
    LOCK_PAGE_SLUG: string;
    CSP_MODE: "disabled" | "report-only" | "enforced";
    CSP_DIRECTIVES: string | ContentSecurityPolicyType;
    APPWARDEN_API_TOKEN: string;
};

export type { Bindings as B };
