UNPKG

@appwarden/middleware

Version:

Instantly disable all user interaction with your app deployed on Cloudflare or Vercel

483 lines (477 loc) 32 kB
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 };