type CspDirectiveValue = string | string[] | false; interface ContentSecurityPolicyDirectives { [directive: string]: CspDirectiveValue; } interface ContentSecurityPolicyOptions { /** Full HTML Content-Security-Policy. Replaces the HTMX/SPA baseline. */ csp?: string; /** Alias for `csp`. */ htmlCsp?: string; /** Merge extra sources into the HTML baseline. `false` removes a directive. */ directives?: ContentSecurityPolicyDirectives; } interface ResolveContentSecurityPolicyOptions extends ContentSecurityPolicyOptions { nonce?: string; } /** HTMX 2.0.4 default indicator CSS (line-continued string inside insertIndicatorStyles). */ declare const HTMX_2_0_4_INDICATOR_STYLE_HASH = "'sha256-bsV5JivYxvGywDAZ22EZJKBFip65Ng9xoJVLbBg7bdo='"; declare function generateCspNonce(): string; declare function configureContentSecurityPolicy(options: ContentSecurityPolicyOptions): void; declare function resetContentSecurityPolicyForTests(): void; declare function strictApiContentSecurityPolicy(): string; declare function serverHtmxContentSecurityPolicy(nonce?: string): string; declare function spaContentSecurityPolicy(nonce?: string): string; declare function resolveHtmlContentSecurityPolicy(options?: ResolveContentSecurityPolicyOptions): string; declare function resolveContentSecurityPolicy(response: Response, options?: ResolveContentSecurityPolicyOptions): string; export type { ContentSecurityPolicyDirectives, ContentSecurityPolicyOptions }; export { configureContentSecurityPolicy, generateCspNonce, HTMX_2_0_4_INDICATOR_STYLE_HASH, resetContentSecurityPolicyForTests, resolveContentSecurityPolicy, resolveHtmlContentSecurityPolicy, serverHtmxContentSecurityPolicy, spaContentSecurityPolicy, strictApiContentSecurityPolicy, };