import * as core from "@terrascript/core";
export interface ServerTimingHeadersConfigArgs extends core.SchemaArgs {
    enabled: boolean | core.BooleanOut;
    samplingRate: number | core.NumberOut;
}
export declare class ServerTimingHeadersConfig extends core.Schema<ServerTimingHeadersConfigArgs> {
    enabled: boolean | core.BooleanOut;
    samplingRate: number | core.NumberOut;
}
export interface AccessControlAllowHeadersArgs extends core.SchemaArgs {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class AccessControlAllowHeaders extends core.Schema<AccessControlAllowHeadersArgs> {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface AccessControlAllowMethodsArgs extends core.SchemaArgs {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class AccessControlAllowMethods extends core.Schema<AccessControlAllowMethodsArgs> {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface AccessControlAllowOriginsArgs extends core.SchemaArgs {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class AccessControlAllowOrigins extends core.Schema<AccessControlAllowOriginsArgs> {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface AccessControlExposeHeadersArgs extends core.SchemaArgs {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class AccessControlExposeHeaders extends core.Schema<AccessControlExposeHeadersArgs> {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface CorsConfigArgs extends core.SchemaArgs {
    accessControlAllowCredentials: boolean | core.BooleanOut;
    accessControlAllowHeaders: core.Array<AccessControlAllowHeaders> | core.ArrayOut<AccessControlAllowHeaders>;
    accessControlAllowMethods: core.Array<AccessControlAllowMethods> | core.ArrayOut<AccessControlAllowMethods>;
    accessControlAllowOrigins: core.Array<AccessControlAllowOrigins> | core.ArrayOut<AccessControlAllowOrigins>;
    accessControlExposeHeaders: core.Array<AccessControlExposeHeaders> | core.ArrayOut<AccessControlExposeHeaders>;
    accessControlMaxAgeSec: number | core.NumberOut;
    originOverride: boolean | core.BooleanOut;
}
export declare class CorsConfig extends core.Schema<CorsConfigArgs> {
    accessControlAllowCredentials: boolean | core.BooleanOut;
    accessControlAllowHeaders: core.Array<AccessControlAllowHeaders> | core.ArrayOut<AccessControlAllowHeaders>;
    accessControlAllowMethods: core.Array<AccessControlAllowMethods> | core.ArrayOut<AccessControlAllowMethods>;
    accessControlAllowOrigins: core.Array<AccessControlAllowOrigins> | core.ArrayOut<AccessControlAllowOrigins>;
    accessControlExposeHeaders: core.Array<AccessControlExposeHeaders> | core.ArrayOut<AccessControlExposeHeaders>;
    accessControlMaxAgeSec: number | core.NumberOut;
    originOverride: boolean | core.BooleanOut;
}
export interface ItemsArgs extends core.SchemaArgs {
    header: string | core.StringOut;
    override: boolean | core.BooleanOut;
    value: string | core.StringOut;
}
export declare class Items extends core.Schema<ItemsArgs> {
    header: string | core.StringOut;
    override: boolean | core.BooleanOut;
    value: string | core.StringOut;
}
export interface CustomHeadersConfigArgs extends core.SchemaArgs {
    items: core.Array<Items> | core.ArrayOut<Items>;
}
export declare class CustomHeadersConfig extends core.Schema<CustomHeadersConfigArgs> {
    items: core.Array<Items> | core.ArrayOut<Items>;
}
export interface XssProtectionArgs extends core.SchemaArgs {
    modeBlock: boolean | core.BooleanOut;
    override: boolean | core.BooleanOut;
    protection: boolean | core.BooleanOut;
    reportUri: string | core.StringOut;
}
export declare class XssProtection extends core.Schema<XssProtectionArgs> {
    modeBlock: boolean | core.BooleanOut;
    override: boolean | core.BooleanOut;
    protection: boolean | core.BooleanOut;
    reportUri: string | core.StringOut;
}
export interface ContentSecurityPolicyArgs extends core.SchemaArgs {
    contentSecurityPolicy: string | core.StringOut;
    override: boolean | core.BooleanOut;
}
export declare class ContentSecurityPolicy extends core.Schema<ContentSecurityPolicyArgs> {
    contentSecurityPolicy: string | core.StringOut;
    override: boolean | core.BooleanOut;
}
export interface ContentTypeOptionsArgs extends core.SchemaArgs {
    override: boolean | core.BooleanOut;
}
export declare class ContentTypeOptions extends core.Schema<ContentTypeOptionsArgs> {
    override: boolean | core.BooleanOut;
}
export interface FrameOptionsArgs extends core.SchemaArgs {
    frameOption: string | core.StringOut;
    override: boolean | core.BooleanOut;
}
export declare class FrameOptions extends core.Schema<FrameOptionsArgs> {
    frameOption: string | core.StringOut;
    override: boolean | core.BooleanOut;
}
export interface ReferrerPolicyArgs extends core.SchemaArgs {
    override: boolean | core.BooleanOut;
    referrerPolicy: string | core.StringOut;
}
export declare class ReferrerPolicy extends core.Schema<ReferrerPolicyArgs> {
    override: boolean | core.BooleanOut;
    referrerPolicy: string | core.StringOut;
}
export interface StrictTransportSecurityArgs extends core.SchemaArgs {
    accessControlMaxAgeSec: number | core.NumberOut;
    includeSubdomains: boolean | core.BooleanOut;
    override: boolean | core.BooleanOut;
    preload: boolean | core.BooleanOut;
}
export declare class StrictTransportSecurity extends core.Schema<StrictTransportSecurityArgs> {
    accessControlMaxAgeSec: number | core.NumberOut;
    includeSubdomains: boolean | core.BooleanOut;
    override: boolean | core.BooleanOut;
    preload: boolean | core.BooleanOut;
}
export interface SecurityHeadersConfigArgs extends core.SchemaArgs {
    contentSecurityPolicy: core.Array<ContentSecurityPolicy> | core.ArrayOut<ContentSecurityPolicy>;
    contentTypeOptions: core.Array<ContentTypeOptions> | core.ArrayOut<ContentTypeOptions>;
    frameOptions: core.Array<FrameOptions> | core.ArrayOut<FrameOptions>;
    referrerPolicy: core.Array<ReferrerPolicy> | core.ArrayOut<ReferrerPolicy>;
    strictTransportSecurity: core.Array<StrictTransportSecurity> | core.ArrayOut<StrictTransportSecurity>;
    xssProtection: core.Array<XssProtection> | core.ArrayOut<XssProtection>;
}
export declare class SecurityHeadersConfig extends core.Schema<SecurityHeadersConfigArgs> {
    contentSecurityPolicy: core.Array<ContentSecurityPolicy> | core.ArrayOut<ContentSecurityPolicy>;
    contentTypeOptions: core.Array<ContentTypeOptions> | core.ArrayOut<ContentTypeOptions>;
    frameOptions: core.Array<FrameOptions> | core.ArrayOut<FrameOptions>;
    referrerPolicy: core.Array<ReferrerPolicy> | core.ArrayOut<ReferrerPolicy>;
    strictTransportSecurity: core.Array<StrictTransportSecurity> | core.ArrayOut<StrictTransportSecurity>;
    xssProtection: core.Array<XssProtection> | core.ArrayOut<XssProtection>;
}
export interface DsResponseHeadersPolicyArgs {
    id?: string | core.StringOut;
    name?: string | core.StringOut;
}
export declare class DsResponseHeadersPolicy extends core.Data<DsResponseHeadersPolicyArgs> {
    comment: string | core.StringOut;
    corsConfig: core.Array<CorsConfig> | core.ArrayOut<CorsConfig>;
    customHeadersConfig: core.Array<CustomHeadersConfig> | core.ArrayOut<CustomHeadersConfig>;
    etag: string | core.StringOut;
    id?: string | core.StringOut;
    name?: string | core.StringOut;
    securityHeadersConfig: core.Array<SecurityHeadersConfig> | core.ArrayOut<SecurityHeadersConfig>;
    serverTimingHeadersConfig: core.Array<ServerTimingHeadersConfig> | core.ArrayOut<ServerTimingHeadersConfig>;
    constructor(name: string, args?: DsResponseHeadersPolicyArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_response_headers_policy.d.ts.map