type CSPSourceValue = "'self'" | "'none'" | "'unsafe-inline'" | "'unsafe-eval'" | "'strict-dynamic'" | "'unsafe-hashes'" | "'report-sample'" | "'unsafe-allow-redirects'" | `'nonce-${string}'` | `'sha256-${string}'` | `'sha384-${string}'` | `'sha512-${string}'` | string; type CSPOptions = { defaultSrc?: CSPSourceValue[]; childSrc?: CSPSourceValue[]; connectSrc?: CSPSourceValue[]; fontSrc?: CSPSourceValue[]; frameSrc?: CSPSourceValue[]; imgSrc?: CSPSourceValue[]; manifestSrc?: CSPSourceValue[]; mediaSrc?: CSPSourceValue[]; objectSrc?: CSPSourceValue[]; prefetchSrc?: CSPSourceValue[]; scriptSrc?: CSPSourceValue[]; scriptSrcElem?: CSPSourceValue[]; scriptSrcAttr?: CSPSourceValue[]; styleSrc?: CSPSourceValue[]; styleSrcElem?: CSPSourceValue[]; styleSrcAttr?: CSPSourceValue[]; workerSrc?: CSPSourceValue[]; baseUri?: CSPSourceValue[]; sandbox?: string[]; formAction?: CSPSourceValue[]; frameAncestors?: CSPSourceValue[]; navigateTo?: CSPSourceValue[]; reportUri?: string[]; reportTo?: string; requireTrustedTypesFor?: ("'script'" | string)[]; trustedTypes?: (string | "'none'" | "'allow-duplicates'" | "'*'")[]; upgradeInsecureRequests?: boolean; blockAllMixedContent?: boolean; }; type StrictTransportSecurityOptions = { maxAge: number; includeSubDomains?: boolean; preload?: boolean; }; type XFrameOptionsValue = 'DENY' | 'SAMEORIGIN' | `ALLOW-FROM ${string}`; type ReferrerPolicyValue = 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' | ''; type PermissionsPolicyOptions = Record; type CrossOriginEmbedderPolicyValue = 'unsafe-none' | 'require-corp' | 'credentialless'; type CrossOriginOpenerPolicyValue = 'unsafe-none' | 'same-origin-allow-popups' | 'same-origin'; type CrossOriginResourcePolicyValue = 'same-site' | 'same-origin' | 'cross-origin'; type XDNSPrefetchControlValue = 'on' | 'off'; type XXSSProtectionOptions = { enable: boolean; mode?: 'block'; report?: string; }; export type SecurityHeadersOptions = { contentSecurityPolicy?: CSPOptions; strictTransportSecurity?: StrictTransportSecurityOptions; xFrameOptions?: XFrameOptionsValue; xContentTypeOptions?: boolean; referrerPolicy?: ReferrerPolicyValue; permissionsPolicy?: PermissionsPolicyOptions; crossOriginEmbedderPolicy?: CrossOriginEmbedderPolicyValue; crossOriginOpenerPolicy?: CrossOriginOpenerPolicyValue; crossOriginResourcePolicy?: CrossOriginResourcePolicyValue; xDnsPrefetchControl?: XDNSPrefetchControlValue; xXssProtection?: XXSSProtectionOptions; }; export declare function createSecurityHeaders(opts: SecurityHeadersOptions): Record; export {}; //# sourceMappingURL=security.d.ts.map