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>;

/**
 * Fallback bindings type for when Wrangler types are not available.
 * This provides a minimal type definition for development.
 *
 * When users run `wrangler types`, it generates:
 * - `declare namespace Cloudflare { interface Env { ... } }`
 * - `interface Env extends Cloudflare.Env {}`
 *
 * Our CloudflareEnv should pick up the user's generated Env type first.
 */
type Bindings = {
    DEBUG?: string | boolean;
    APPWARDEN_LOCK_PAGE_SLUG?: string;
    CSP_MODE?: "disabled" | "report-only" | "enforced";
    CSP_DIRECTIVES?: string | ContentSecurityPolicyType;
    APPWARDEN_API_TOKEN?: string;
    APPWARDEN_API_HOSTNAME?: string;
};
declare global {
    /**
     * CloudflareEnv is the global type used by all adapters.
     *
     * TypeScript's declaration merging means:
     * 1. If user has Wrangler-generated `interface Env`, CloudflareEnv will extend it
     * 2. If not, CloudflareEnv will extend our fallback Bindings type
     *
     * This ensures Wrangler types take precedence when available.
     */
    interface CloudflareEnv extends Env {
    }
    /**
     * Fallback Env interface when Wrangler types are not generated.
     * If the user runs `wrangler types`, their generated Env will merge with this.
     */
    interface Env extends Bindings {
    }
}
/**
 * Cloudflare request context shape used by withAppwarden config functions.
 * This matches the context passed to config functions in appwardenOnCloudflare.
 */
type RequestContext = {
    env: Bindings;
    ctx: ExecutionContext;
};

interface MiddlewareContext {
    hostname: string;
    request: Request;
    response: Response;
    waitUntil: ExecutionContext["waitUntil"];
    debug: (...msg: any[]) => void;
}
type Middleware = (context: MiddlewareContext, next: () => MiddlewareNextSchemaType) => MiddlewareNextSchemaType;
declare const MiddlewareNextSchema: z.ZodUnion<[z.ZodVoid, z.ZodNull, z.ZodPromise<z.ZodUnion<[z.ZodVoid, z.ZodNull]>>]>;
type MiddlewareNextSchemaType = z.infer<typeof MiddlewareNextSchema>;

declare const CSPDirectivesSchema: z.ZodUnion<[z.ZodString, 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;
}>]>;
declare const CSPModeSchema: z.ZodUnion<[z.ZodLiteral<"disabled">, z.ZodLiteral<"report-only">, z.ZodLiteral<"enforced">]>;
declare const UseCSPInputSchema: z.ZodObject<{
    mode: z.ZodUnion<[z.ZodLiteral<"disabled">, z.ZodLiteral<"report-only">, z.ZodLiteral<"enforced">]>;
    directives: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, 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;
    }>]>, string | {
        "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;
    }, string | {
        "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;
    } | undefined, string | {
        "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;
    }>;
}, "strip", z.ZodTypeAny, {
    mode: "disabled" | "report-only" | "enforced";
    directives?: {
        "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;
    } | undefined;
}, {
    mode: "disabled" | "report-only" | "enforced";
    directives: string | {
        "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 UseCSPInput = z.infer<typeof UseCSPInputSchema>;

export { type Bindings as B, CSPDirectivesSchema as C, type Middleware as M, type RequestContext as R, type UseCSPInput as U, CSPModeSchema as a };
