import * as core from "@terrascript/core";
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?: QueryStrings;
}
export declare class QueryStringsConfig extends core.Schema<QueryStringsConfigArgs> {
    queryStringBehavior: string | core.StringOut;
    queryStrings?: 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?: Cookies;
}
export declare class CookiesConfig extends core.Schema<CookiesConfigArgs> {
    cookieBehavior: string | core.StringOut;
    cookies?: Cookies;
}
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?: Headers;
}
export declare class HeadersConfig extends core.Schema<HeadersConfigArgs> {
    headerBehavior?: string | core.StringOut;
    headers?: Headers;
}
export interface ParametersInCacheKeyAndForwardedToOriginArgs extends core.SchemaArgs {
    cookiesConfig: CookiesConfig;
    enableAcceptEncodingBrotli?: boolean | core.BooleanOut;
    enableAcceptEncodingGzip?: boolean | core.BooleanOut;
    headersConfig: HeadersConfig;
    queryStringsConfig: QueryStringsConfig;
}
export declare class ParametersInCacheKeyAndForwardedToOrigin extends core.Schema<ParametersInCacheKeyAndForwardedToOriginArgs> {
    cookiesConfig: CookiesConfig;
    enableAcceptEncodingBrotli?: boolean | core.BooleanOut;
    enableAcceptEncodingGzip?: boolean | core.BooleanOut;
    headersConfig: HeadersConfig;
    queryStringsConfig: QueryStringsConfig;
}
export interface CachePolicyArgs extends core.ResourceArgs {
    comment?: string | core.StringOut;
    defaultTtl?: number | core.NumberOut;
    maxTtl?: number | core.NumberOut;
    minTtl?: number | core.NumberOut;
    name: string | core.StringOut;
    parametersInCacheKeyAndForwardedToOrigin: ParametersInCacheKeyAndForwardedToOrigin;
}
export declare class CachePolicy extends core.Resource<CachePolicyArgs> {
    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: ParametersInCacheKeyAndForwardedToOrigin;
    constructor(name: string, args?: CachePolicyArgs);
    getNamespace(): string;
}
//# sourceMappingURL=cache_policy.d.ts.map