import { CSPHeaderParams } from 'csp-header'; import type { RequestHandler, Request, Response } from 'express'; export * from './constants'; type ReportUriFunction = (req: Request, res: Response) => string; type ReportToFunction = (req: Request, res: Response) => ReportTo[]; export interface ReportingEndpoint { name: string; uri: string; } export interface ReportTo { group: string; max_age: number; endpoints: { url: string; }[]; include_subdomains?: boolean; } export interface ParseOptions { customTlds?: string[] | RegExp; } export interface ExpressCSPParams extends Omit { domainOptions?: ParseOptions; reportOnly?: boolean; reportTo?: ReportTo[] | ReportToFunction; reportUri?: string | ReportUriFunction; reportingEndpoints?: ReportingEndpoint[] | ((req: Request, res: Response) => ReportingEndpoint[]); processCspString?: (cspString: string, req: Request, res: Response) => string; } export declare function expressCspHeader(params?: ExpressCSPParams): RequestHandler;