import { State } from '../../shared/State'; export type DirectiveEnabled = []; export type DirectiveSource = string; export type AllFlag = '*'; export type AllowDuplicatesFlag = "'allow-duplicates'"; export type NoneFlag = "'none'"; export type ScriptFlag = "'script'"; export type SelfFlag = "'self'"; export type DirectiveFlag = AllFlag | NoneFlag | SelfFlag | DirectiveSource; export type DirectiveSourceFlag = 'data:' | "'unsafe-inline'" | "'unsafe-eval'" | "'unsafe-hashes'" | DirectiveFlag; export type SandboxDirectiveFlag = "'allow-forms'" | "'allow-same-origin'" | "'allow-scripts'" | "'allow-popups'" | "'allow-pointer-lock'" | "'allow-top-navigation'"; export type RefererDirectiveFlag = "'no-referrer'" | "'none-when-downgrade'" | "'origin'" | "'origin-when-cross-origin'" | "'unsafe-url'"; /** * Content Security Policy object */ export type ContentSecurityPolicy = { active: boolean; directives: { 'base-uri'?: DirectiveFlag[]; 'block-all-mixed-content'?: DirectiveEnabled; 'child-src'?: DirectiveSourceFlag[]; 'connect-src'?: DirectiveSourceFlag[]; 'default-src'?: DirectiveSourceFlag[]; 'font-src'?: DirectiveSourceFlag[]; 'form-action'?: DirectiveFlag[]; 'frame-ancestors'?: DirectiveFlag[]; 'frame-src'?: DirectiveSourceFlag[]; 'img-src'?: DirectiveSourceFlag[]; 'manifest-src'?: DirectiveSourceFlag[]; 'media-src'?: DirectiveSourceFlag[]; 'navigate-to'?: DirectiveFlag[]; 'object-src'?: DirectiveSourceFlag[]; 'plugin-types'?: DirectiveSource[]; 'prefetch-src'?: DirectiveSourceFlag[]; referrer?: RefererDirectiveFlag[]; 'report-to'?: DirectiveSource; 'report-uri'?: DirectiveSource; 'require-trusted-types-for'?: ScriptFlag; sandbox?: SandboxDirectiveFlag[]; 'script-src'?: DirectiveSourceFlag[]; 'script-src-attr'?: DirectiveSourceFlag[]; 'script-src-elem'?: DirectiveSourceFlag[]; 'style-src'?: DirectiveSourceFlag[]; 'style-src-attr'?: DirectiveSourceFlag[]; 'style-src-elem'?: DirectiveSourceFlag; 'trusted-types'?: NoneFlag | AllowDuplicatesFlag; 'upgrade-insecure-requests'?: DirectiveEnabled; 'worker-src'?: DirectiveSourceFlag[]; }; }; /** * Get enforced content security policy * @returns {Promise} a promise that resolves to a ContentSecurityPolicy object */ export declare function getEnforcedContentSecurityPolicy({ state, }: { state: State; }): Promise; /** * Set enforced content security policy * @param {Object} params Parameters object. * @param {ContentSecurityPolicy} params.policy ContentSecurityPolicy object * @param {State} params.state State object. * @returns {Promise} a promise that resolves to a ContentSecurityPolicy object. */ export declare function setEnforcedContentSecurityPolicy({ policy, state, }: { policy: ContentSecurityPolicy; state: State; }): Promise; /** * Get report-only content security policy * @returns {Promise} a promise that resolves to a ContentSecurityPolicy object */ export declare function getReportOnlyContentSecurityPolicy({ state, }: { state: State; }): Promise; /** * Set report-only content security policy * @param {Object} params Parameters object. * @param {ContentSecurityPolicy} params.policy ContentSecurityPolicy object * @param {State} params.state State object. * @returns {Promise} a promise that resolves to a ContentSecurityPolicy object. */ export declare function setReportOnlyContentSecurityPolicy({ policy, state, }: { policy: ContentSecurityPolicy; state: State; }): Promise; //# sourceMappingURL=EnvContentSecurityPolicyApi.d.ts.map