import * as core from "@terrascript/core";
export interface HeadersArgs extends core.SchemaArgs {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Headers extends core.Schema<HeadersArgs> {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface HeadersConfigArgs extends core.SchemaArgs {
    headerBehavior: string | core.StringOut;
    headers: core.Array<Headers> | core.ArrayOut<Headers>;
}
export declare class HeadersConfig extends core.Schema<HeadersConfigArgs> {
    headerBehavior: string | core.StringOut;
    headers: core.Array<Headers> | core.ArrayOut<Headers>;
}
export interface QueryStringsArgs extends core.SchemaArgs {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class QueryStrings extends core.Schema<QueryStringsArgs> {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface QueryStringsConfigArgs extends core.SchemaArgs {
    queryStringBehavior: string | core.StringOut;
    queryStrings: core.Array<QueryStrings> | core.ArrayOut<QueryStrings>;
}
export declare class QueryStringsConfig extends core.Schema<QueryStringsConfigArgs> {
    queryStringBehavior: string | core.StringOut;
    queryStrings: core.Array<QueryStrings> | core.ArrayOut<QueryStrings>;
}
export interface CookiesArgs extends core.SchemaArgs {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Cookies extends core.Schema<CookiesArgs> {
    items: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface CookiesConfigArgs extends core.SchemaArgs {
    cookieBehavior: string | core.StringOut;
    cookies: core.Array<Cookies> | core.ArrayOut<Cookies>;
}
export declare class CookiesConfig extends core.Schema<CookiesConfigArgs> {
    cookieBehavior: string | core.StringOut;
    cookies: core.Array<Cookies> | core.ArrayOut<Cookies>;
}
export interface ParametersInCacheKeyAndForwardedToOriginArgs extends core.SchemaArgs {
    cookiesConfig: core.Array<CookiesConfig> | core.ArrayOut<CookiesConfig>;
    enableAcceptEncodingBrotli: boolean | core.BooleanOut;
    enableAcceptEncodingGzip: boolean | core.BooleanOut;
    headersConfig: core.Array<HeadersConfig> | core.ArrayOut<HeadersConfig>;
    queryStringsConfig: core.Array<QueryStringsConfig> | core.ArrayOut<QueryStringsConfig>;
}
export declare class ParametersInCacheKeyAndForwardedToOrigin extends core.Schema<ParametersInCacheKeyAndForwardedToOriginArgs> {
    cookiesConfig: core.Array<CookiesConfig> | core.ArrayOut<CookiesConfig>;
    enableAcceptEncodingBrotli: boolean | core.BooleanOut;
    enableAcceptEncodingGzip: boolean | core.BooleanOut;
    headersConfig: core.Array<HeadersConfig> | core.ArrayOut<HeadersConfig>;
    queryStringsConfig: core.Array<QueryStringsConfig> | core.ArrayOut<QueryStringsConfig>;
}
export interface DsCachePolicyArgs {
    id?: string | core.StringOut;
    name?: string | core.StringOut;
}
export declare class DsCachePolicy extends core.Data<DsCachePolicyArgs> {
    comment: string | core.StringOut;
    defaultTtl: number | core.NumberOut;
    etag: string | core.StringOut;
    id?: string | core.StringOut;
    maxTtl: number | core.NumberOut;
    minTtl: number | core.NumberOut;
    name?: string | core.StringOut;
    parametersInCacheKeyAndForwardedToOrigin: core.Array<ParametersInCacheKeyAndForwardedToOrigin> | core.ArrayOut<ParametersInCacheKeyAndForwardedToOrigin>;
    constructor(name: string, args?: DsCachePolicyArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_cache_policy.d.ts.map