export declare enum PredefinedSource { None = "'none'", ReportSample = "'report-sample'", Self = "'self'", StrictDynamic = "'strict-dynamic'", UnsafeEval = "'unsafe-eval'", UnsafeInline = "'unsafe-inline'" } export declare enum SchemaSource { Blob = "blob:", Data = "data:", Filesystem = "filesystem:", Http = "http:", Https = "https:", MediaStream = "mediastream:" } export declare type HostSource = string; export declare type SourceList = PredefinedSource | SchemaSource | HostSource; export declare enum DirectiveType { Fetch = "fetch", Document = "document", Navigation = "navigation", Reporting = "reporting", Other = "other" } export declare type DirectiveName = string; export declare type CspVersion = number; export interface Directive { getDirectiveName(): DirectiveName; getDirectiveType(): DirectiveType; getMinimumCspVersion(): CspVersion; serialize(): string; } export interface MultiValueDirective extends Directive { addValue(value: any | any[]): this; } export interface SingleValueDirective extends Directive { setValue(value: any): this; } export interface ToggleDirective extends Directive { toggle(value: boolean): this; } export declare type Directives = MultiValueDirective | SingleValueDirective | ToggleDirective;