import _m0 from 'protobufjs/minimal';
export declare const protobufPackage = "yandex.cloud.cdn.v1";
/**
 * This option defines the protocol that will be used by CDN servers to request
 * content from an origin source. If not specified, we will use HTTP to connect
 * to an origin server.
 */
export declare enum OriginProtocol {
    ORIGIN_PROTOCOL_UNSPECIFIED = 0,
    /** HTTP - CDN servers will connect to your origin via HTTP. */
    HTTP = 1,
    /** HTTPS - CDN servers will connect to your origin via HTTPS. */
    HTTPS = 2,
    /**
     * MATCH - Connection protocol will be chosen automatically (content on the
     * origin source should be available for the CDN both through HTTP and HTTPS).
     */
    MATCH = 3,
    UNRECOGNIZED = -1
}
export declare function originProtocolFromJSON(object: any): OriginProtocol;
export declare function originProtocolToJSON(object: OriginProtocol): string;
/** RewriteFlag defines flag for the Rewrite option. */
export declare enum RewriteFlag {
    REWRITE_FLAG_UNSPECIFIED = 0,
    /**
     * LAST - Stops processing of the current set of ngx_http_rewrite_module directives and
     * starts a search for a new location matching changed URI.
     */
    LAST = 1,
    /** BREAK - Stops processing of the current set of the Rewrite option. */
    BREAK = 2,
    /**
     * REDIRECT - Returns a temporary redirect with the 302 code; It is used when a replacement string does not start
     * with "http://", "https://", or "$scheme".
     */
    REDIRECT = 3,
    /** PERMANENT - Returns a permanent redirect with the 301 code. */
    PERMANENT = 4,
    UNRECOGNIZED = -1
}
export declare function rewriteFlagFromJSON(object: any): RewriteFlag;
export declare function rewriteFlagToJSON(object: RewriteFlag): string;
/** SecureKeyURLType defines type of the URL signing. */
export declare enum SecureKeyURLType {
    SECURE_KEY_URL_TYPE_UNSPECIFIED = 0,
    /** ENABLE_IP_SIGNING - Use scpecific IP address in URL signing. URL will be availible only for this IP. */
    ENABLE_IP_SIGNING = 1,
    /** DISABLE_IP_SIGNING - Sign URL without using IP address. URL will be available for all IP addresses. */
    DISABLE_IP_SIGNING = 2,
    UNRECOGNIZED = -1
}
export declare function secureKeyURLTypeFromJSON(object: any): SecureKeyURLType;
export declare function secureKeyURLTypeToJSON(object: SecureKeyURLType): string;
/** PolicyType defines type of the policy in IP address acl rules. */
export declare enum PolicyType {
    POLICY_TYPE_UNSPECIFIED = 0,
    /** POLICY_TYPE_ALLOW - Allow access to all IP addresses except the ones specified in the excepted_values field. */
    POLICY_TYPE_ALLOW = 1,
    /** POLICY_TYPE_DENY - Block access to all IP addresses except the ones specified in the excepted_values field. */
    POLICY_TYPE_DENY = 2,
    UNRECOGNIZED = -1
}
export declare function policyTypeFromJSON(object: any): PolicyType;
export declare function policyTypeToJSON(object: PolicyType): string;
/** A certificate type parameters. */
export declare enum SSLCertificateType {
    /** SSL_CERTIFICATE_TYPE_UNSPECIFIED - SSL certificate is unspecified. */
    SSL_CERTIFICATE_TYPE_UNSPECIFIED = 0,
    /** DONT_USE - No SSL certificate is added, the requests are sent via HTTP. */
    DONT_USE = 1,
    /**
     * LETS_ENCRYPT_GCORE - The option is deprecated. Works only if you have already pointed your domain name to the protected IP address in your DNS.
     *
     * @deprecated
     */
    LETS_ENCRYPT_GCORE = 2,
    /** CM - Add your SSL certificate by uploading the certificate in PEM format and your private key. */
    CM = 3,
    UNRECOGNIZED = -1
}
export declare function sSLCertificateTypeFromJSON(object: any): SSLCertificateType;
export declare function sSLCertificateTypeToJSON(object: SSLCertificateType): string;
/** A certificate status parameters. */
export declare enum SSLCertificateStatus {
    /** SSL_CERTIFICATE_STATUS_UNSPECIFIED - SSL certificate is unspecified. */
    SSL_CERTIFICATE_STATUS_UNSPECIFIED = 0,
    /** READY - SSL certificate is ready to use. */
    READY = 1,
    /**
     * CREATING - The option is deprecated. SSL certificate is creating.
     *
     * @deprecated
     */
    CREATING = 2,
    UNRECOGNIZED = -1
}
export declare function sSLCertificateStatusFromJSON(object: any): SSLCertificateStatus;
export declare function sSLCertificateStatusToJSON(object: SSLCertificateStatus): string;
/** List of secondary (alternative) CNAMEs. */
export interface SecondaryHostnames {
    /** List of secondary hostname values. */
    values: string[];
}
/** A CDN resource - representation of providers resource. */
export interface Resource {
    /** ID of the resource. */
    id: string;
    /** Folder id. */
    folderId: string;
    /** CDN endpoint CNAME, must be unique among resources. */
    cname: string;
    /** Creation timestamp. */
    createdAt?: Date;
    /** Update timestamp. */
    updatedAt?: Date;
    /**
     * Flag to create Resource either in active or disabled state.
     * True - the content from CDN is available to clients.
     * False - the content from CDN isn't available to clients.
     */
    active: boolean;
    /** Resource settings and options to tune CDN edge behavior. */
    options?: ResourceOptions;
    /** List of secondary hostname strings. */
    secondaryHostnames: string[];
    /** ID of the origin group. */
    originGroupId: number;
    /** Name of the origin group. */
    originGroupName: string;
    /** Specify the protocol schema to be used in communication with origin. */
    originProtocol: OriginProtocol;
    /** SSL certificate options. */
    sslCertificate?: SSLCertificate;
    /** Labels of the resource. */
    labels: {
        [key: string]: string;
    };
}
export interface Resource_LabelsEntry {
    key: string;
    value: string;
}
/** A major set of various resource options. */
export interface ResourceOptions {
    /** Set up a cache status. */
    disableCache?: ResourceOptions_BoolOption;
    /** Set up [EdgeCacheSettings]. */
    edgeCacheSettings?: ResourceOptions_EdgeCacheSettings;
    /**
     * Using [Int64Option]. Set up a cache period for the end-users browser.
     * Content will be cached due to origin settings.
     * If there are no cache settings on your origin, the content will not be cached.
     * The list of HTTP response codes that can be cached in browsers: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.
     * Other response codes will not be cached.
     * The default value is 4 days.
     */
    browserCacheSettings?: ResourceOptions_Int64Option;
    /** List HTTP headers that must be included in responses to clients. */
    cacheHttpHeaders?: ResourceOptions_StringsListOption;
    /** Set up [QueryParamsOptions]. */
    queryParamsOptions?: ResourceOptions_QueryParamsOptions;
    /**
     * Files larger than 10 MB will be requested and cached in parts (no larger than 10 MB each part). It reduces time to first byte.
     *
     * The origin must support HTTP Range requests.
     *
     * By default the option is disabled.
     */
    slice?: ResourceOptions_BoolOption;
    /** Set up compression variant. */
    compressionOptions?: ResourceOptions_CompressionOptions;
    /** Set up redirects. */
    redirectOptions?: ResourceOptions_RedirectOptions;
    /** Set up host parameters. */
    hostOptions?: ResourceOptions_HostOptions;
    /** Set up static headers that CDN servers send in responses to clients. */
    staticHeaders?: ResourceOptions_StringsMapOption;
    /**
     * Parameter that lets browsers get access to selected resources from a domain
     * different to a domain from which the request is received.
     * [Read more](/docs/cdn/concepts/cors).
     */
    cors?: ResourceOptions_StringsListOption;
    /**
     * List of errors which instruct CDN servers to serve stale content to clients.
     *
     * Possible values: `error`, `http_403`, `http_404`, `http_429`, `http_500`, `http_502`, `http_503`, `http_504`, `invalid_header`, `timeout`, `updating`.
     */
    stale?: ResourceOptions_StringsListOption;
    /**
     * HTTP methods for your CDN content. By default the following methods
     * are allowed: GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS.
     * In case some methods are not allowed to the user, they will get the 405
     * (Method Not Allowed) response. If the method is not supported,
     * the user gets the 501 (Not Implemented) response.
     */
    allowedHttpMethods?: ResourceOptions_StringsListOption;
    /** Allows caching for GET, HEAD and POST requests. */
    proxyCacheMethodsSet?: ResourceOptions_BoolOption;
    /** Disabling proxy force ranges. */
    disableProxyForceRanges?: ResourceOptions_BoolOption;
    /**
     * Set up custom headers that CDN servers send in requests to origins.
     * The Header name field can contain letters (A-Z, a-z), numbers (0-9), dashes (-) and underscores (_).
     * The Value field can contain letters (A-Z, a-z), numbers (0-9), dashes (-),
     * underscores (_), slashes (/), colons (:), equal (=), dots (.), and spaces.
     */
    staticRequestHeaders?: ResourceOptions_StringsMapOption;
    /**
     * Wildcard additional CNAME.
     * If a resource has a wildcard additional CNAME, you can use your own certificate for content delivery via HTTPS. Read-only.
     */
    customServerName?: ResourceOptions_StringOption;
    /** Using [BoolOption] for ignoring cookie. */
    ignoreCookie?: ResourceOptions_BoolOption;
    /** Changing or redirecting query paths. */
    rewrite?: ResourceOptions_RewriteOption;
    /** Secure token to protect contect and limit access by IP addresses and time limits. */
    secureKey?: ResourceOptions_SecureKeyOption;
    /**
     * Manage the state of the IP access policy option.
     * The option controls access to content from the specified IP addresses.
     */
    ipAddressAcl?: ResourceOptions_IPAddressACLOption;
}
/** Set up bool values. */
export interface ResourceOptions_BoolOption {
    /**
     * True - the option is enabled and its [value] is applied to the resource.
     * False - the option is disabled and its default value is used for the resource.
     */
    enabled: boolean;
    /** Value of the option. */
    value: boolean;
}
/** A set of the string parameters. */
export interface ResourceOptions_StringOption {
    /**
     * True - the option is enabled and its [value] is applied to the resource.
     * False - the option is disabled and its default value is used for the resource.
     */
    enabled: boolean;
    /** Value of the option. */
    value: string;
}
/** A set of the numeric parameters. */
export interface ResourceOptions_Int64Option {
    /**
     * True - the option is enabled and its [value] is applied to the resource.
     * False - the option is disabled and its default value is used for the resource.
     */
    enabled: boolean;
    /** Value of the option. */
    value: number;
}
/** A set of the string list parameters. */
export interface ResourceOptions_StringsListOption {
    /**
     * True - the option is enabled and its [value] is applied to the resource.
     * False - the option is disabled and its default value is used for the resource.
     */
    enabled: boolean;
    /** Value of the option. */
    value: string[];
}
/** A set of the strings map parameters. */
export interface ResourceOptions_StringsMapOption {
    /**
     * True - the option is enabled and its [value] is applied to the resource.
     * False - the option is disabled and its default value is used for the resource.
     */
    enabled: boolean;
    /** Value of the option. */
    value: {
        [key: string]: string;
    };
}
export interface ResourceOptions_StringsMapOption_ValueEntry {
    key: string;
    value: string;
}
/** A set of the caching response time parameters. */
export interface ResourceOptions_CachingTimes {
    /**
     * Caching time for a response with codes 200, 206, 301, 302.
     * Responses with codes 4xx, 5xx will not be cached. Use `0s` disable to caching.
     * Use [custom_values] field to specify a custom caching time for a response with specific codes.
     */
    simpleValue: number;
    /**
     * Caching time for a response with specific codes. These settings have a higher priority than the value field.
     * Response code (`304`, `404` for example). Use `any` to specify caching time for all response codes.
     * Caching time in seconds (`0s`, `600s` for example). Use `0s` to disable caching for a specific response code.
     */
    customValues: {
        [key: string]: number;
    };
}
export interface ResourceOptions_CachingTimes_CustomValuesEntry {
    key: string;
    value: number;
}
/** A set of the edge cache parameters. */
export interface ResourceOptions_EdgeCacheSettings {
    /**
     * True - the option is enabled and its `values_variant` is applied to the resource.
     * False - the option is disabled and its default value is used for the resource.
     */
    enabled: boolean;
    /** Value of the option. */
    value?: ResourceOptions_CachingTimes | undefined;
    /**
     * Content will be cached according to origin cache settings.
     * The value applies for a response with codes 200, 201, 204, 206, 301, 302, 303, 304, 307, 308
     * if an origin server does not have caching HTTP headers.
     * Responses with other codes will not be cached.
     */
    defaultValue: number | undefined;
}
/** A set of the string variable map parameters. */
export interface ResourceOptions_StringVariableMapOption {
    /**
     * True - the option is enabled and its [value] is applied to the resource.
     * False - the option is disabled and its default value is used for the resource.
     */
    enabled: boolean;
    /** Value of the option. */
    value: {
        [key: string]: ResourceOptions_StringVariableMapOption_OneofString;
    };
}
export interface ResourceOptions_StringVariableMapOption_OneofString {
    /** Using [StringOption] to set value. */
    value?: ResourceOptions_StringOption | undefined;
    /** Using [StringsListOption] to set values. */
    values?: ResourceOptions_StringsListOption | undefined;
}
export interface ResourceOptions_StringVariableMapOption_ValueEntry {
    key: string;
    value?: ResourceOptions_StringVariableMapOption_OneofString;
}
/** A set of the query parameters. */
export interface ResourceOptions_QueryParamsOptions {
    /** Using [BoolOption]. Selected by default. Files with different query parameters are cached as objects with the same key regardless of the parameter value. */
    ignoreQueryString?: ResourceOptions_BoolOption | undefined;
    /**
     * Ignore All Except.
     * Files with the specified query parameters are cached as objects with different keys,
     * files with other parameters are cached as objects with the same key.
     */
    queryParamsWhitelist?: ResourceOptions_StringsListOption | undefined;
    /**
     * Ignore only. Files with the specified query parameters are cached as objects with the same key,
     * files with other parameters are cached as objects with different keys.
     */
    queryParamsBlacklist?: ResourceOptions_StringsListOption | undefined;
}
/** A set of the redirect parameters. */
export interface ResourceOptions_RedirectOptions {
    /** Using [BoolOption]. Set up a redirect from HTTPS to HTTP. */
    redirectHttpToHttps?: ResourceOptions_BoolOption | undefined;
    /** Using [BoolOption]. Set up a redirect from HTTP to HTTPS. */
    redirectHttpsToHttp?: ResourceOptions_BoolOption | undefined;
}
/** A set of the host parameters. */
export interface ResourceOptions_HostOptions {
    /**
     * Custom value for the Host header.
     *
     * Your server must be able to process requests with the chosen header.
     *
     * Default value (if [StringOption.enabled] is `false`) is [Resource.cname].
     */
    host?: ResourceOptions_StringOption | undefined;
    /**
     * Using [BoolOption]. Choose the Forward Host header option if is important to send in the request to the Origin
     * the same Host header as was sent in the request to CDN server.
     */
    forwardHostHeader?: ResourceOptions_BoolOption | undefined;
}
/** A set of the compression variant parameters. */
export interface ResourceOptions_CompressionOptions {
    /**
     * The Fetch compressed option helps you to reduce
     * the bandwidth between origin and CDN servers.
     * Also, content delivery speed becomes higher because of reducing the time
     * for compressing files in a CDN.
     */
    fetchCompressed?: ResourceOptions_BoolOption | undefined;
    /** Using [BoolOption]. GZip compression at CDN servers reduces file size by 70% and can be as high as 90%. */
    gzipOn?: ResourceOptions_BoolOption | undefined;
    /**
     * The option allows to compress content with brotli on the CDN's end.
     *
     * Compression is performed on the Origin Shielding. If a pre-cache server doesn't active for a resource, compression does not occur even if the option is enabled.
     *
     * Specify the content-type for each type of content you wish to have compressed. CDN servers will request only uncompressed content from the origin.
     */
    brotliCompression?: ResourceOptions_StringsListOption | undefined;
}
/** An option for changing or redirecting query paths. */
export interface ResourceOptions_RewriteOption {
    /**
     * True - the option is enabled and its [flag] is applied to the resource.
     * False - the option is disabled and its default value of the [flag] is used for the resource.
     */
    enabled: boolean;
    /**
     * Pattern for rewrite.
     *
     * The value must have the following format: `<source path> <destination path>`, where both paths are regular expressions which use at least one group. E.g., `/foo/(.*) /bar/$1`.
     */
    body: string;
    /**
     * Break flag is applied to the option by default.
     * It is not shown in the field.
     */
    flag: RewriteFlag;
}
export interface ResourceOptions_SecureKeyOption {
    /**
     * True - the option is enabled and its [flag] is applied to the resource.
     * False - the option is disabled and its default value of the [flag] is used for the resource.
     */
    enabled: boolean;
    /** The key for the URL signing. */
    key: string;
    /** The type of the URL signing. The URL could be available for all IP addresses or for the only one IP. */
    type: SecureKeyURLType;
}
export interface ResourceOptions_IPAddressACLOption {
    /**
     * True - the option is enabled and its [flag] is applied to the resource.
     * False - the option is disabled and its default value of the [flag] is used for the resource.
     */
    enabled: boolean;
    /** The policy type. One of allow or deny value. */
    policyType: PolicyType;
    /** The list of IP addresses to be allowed or denied. */
    exceptedValues: string[];
}
/** A set of the personal SSL certificate parameters. */
export interface SSLTargetCertificate {
    /** Type of the certificate. */
    type: SSLCertificateType;
    /** Certificate data. */
    data?: SSLCertificateData;
}
/** A SSL certificate parameters. */
export interface SSLCertificate {
    /** Type of the certificate. */
    type: SSLCertificateType;
    /** Active status. */
    status: SSLCertificateStatus;
    /** Certificate data. */
    data?: SSLCertificateData;
}
/** A certificate data parameters. */
export interface SSLCertificateData {
    /**
     * Custom (add your SSL certificate by uploading the certificate
     * in PEM format and your private key).
     */
    cm?: SSLCertificateCMData | undefined;
}
/** A certificate data custom parameters. */
export interface SSLCertificateCMData {
    /** ID of the custom certificate. */
    id: string;
}
export declare const SecondaryHostnames: {
    encode(message: SecondaryHostnames, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SecondaryHostnames;
    fromJSON(object: any): SecondaryHostnames;
    toJSON(message: SecondaryHostnames): unknown;
    fromPartial<I extends {
        values?: string[] | undefined;
    } & {
        values?: (string[] & string[] & Record<Exclude<keyof I["values"], keyof string[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "values">, never>>(object: I): SecondaryHostnames;
};
export declare const Resource: {
    encode(message: Resource, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Resource;
    fromJSON(object: any): Resource;
    toJSON(message: Resource): unknown;
    fromPartial<I extends {
        id?: string | undefined;
        folderId?: string | undefined;
        cname?: string | undefined;
        createdAt?: Date | undefined;
        updatedAt?: Date | undefined;
        active?: boolean | undefined;
        options?: {
            disableCache?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            edgeCacheSettings?: {
                enabled?: boolean | undefined;
                value?: {
                    simpleValue?: number | undefined;
                    customValues?: {
                        [x: string]: number | undefined;
                    } | undefined;
                } | undefined;
                defaultValue?: number | undefined;
            } | undefined;
            browserCacheSettings?: {
                enabled?: boolean | undefined;
                value?: number | undefined;
            } | undefined;
            cacheHttpHeaders?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            queryParamsOptions?: {
                ignoreQueryString?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                queryParamsWhitelist?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
                queryParamsBlacklist?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
            } | undefined;
            slice?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            compressionOptions?: {
                fetchCompressed?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                gzipOn?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                brotliCompression?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
            } | undefined;
            redirectOptions?: {
                redirectHttpToHttps?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                redirectHttpsToHttp?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
            } | undefined;
            hostOptions?: {
                host?: {
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } | undefined;
                forwardHostHeader?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
            } | undefined;
            staticHeaders?: {
                enabled?: boolean | undefined;
                value?: {
                    [x: string]: string | undefined;
                } | undefined;
            } | undefined;
            cors?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            stale?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            allowedHttpMethods?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            proxyCacheMethodsSet?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            disableProxyForceRanges?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            staticRequestHeaders?: {
                enabled?: boolean | undefined;
                value?: {
                    [x: string]: string | undefined;
                } | undefined;
            } | undefined;
            customServerName?: {
                enabled?: boolean | undefined;
                value?: string | undefined;
            } | undefined;
            ignoreCookie?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            rewrite?: {
                enabled?: boolean | undefined;
                body?: string | undefined;
                flag?: RewriteFlag | undefined;
            } | undefined;
            secureKey?: {
                enabled?: boolean | undefined;
                key?: string | undefined;
                type?: SecureKeyURLType | undefined;
            } | undefined;
            ipAddressAcl?: {
                enabled?: boolean | undefined;
                policyType?: PolicyType | undefined;
                exceptedValues?: string[] | undefined;
            } | undefined;
        } | undefined;
        secondaryHostnames?: string[] | undefined;
        originGroupId?: number | undefined;
        originGroupName?: string | undefined;
        originProtocol?: OriginProtocol | undefined;
        sslCertificate?: {
            type?: SSLCertificateType | undefined;
            status?: SSLCertificateStatus | undefined;
            data?: {
                cm?: {
                    id?: string | undefined;
                } | undefined;
            } | undefined;
        } | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
    } & {
        id?: string | undefined;
        folderId?: string | undefined;
        cname?: string | undefined;
        createdAt?: Date | undefined;
        updatedAt?: Date | undefined;
        active?: boolean | undefined;
        options?: ({
            disableCache?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            edgeCacheSettings?: {
                enabled?: boolean | undefined;
                value?: {
                    simpleValue?: number | undefined;
                    customValues?: {
                        [x: string]: number | undefined;
                    } | undefined;
                } | undefined;
                defaultValue?: number | undefined;
            } | undefined;
            browserCacheSettings?: {
                enabled?: boolean | undefined;
                value?: number | undefined;
            } | undefined;
            cacheHttpHeaders?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            queryParamsOptions?: {
                ignoreQueryString?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                queryParamsWhitelist?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
                queryParamsBlacklist?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
            } | undefined;
            slice?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            compressionOptions?: {
                fetchCompressed?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                gzipOn?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                brotliCompression?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
            } | undefined;
            redirectOptions?: {
                redirectHttpToHttps?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                redirectHttpsToHttp?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
            } | undefined;
            hostOptions?: {
                host?: {
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } | undefined;
                forwardHostHeader?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
            } | undefined;
            staticHeaders?: {
                enabled?: boolean | undefined;
                value?: {
                    [x: string]: string | undefined;
                } | undefined;
            } | undefined;
            cors?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            stale?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            allowedHttpMethods?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            proxyCacheMethodsSet?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            disableProxyForceRanges?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            staticRequestHeaders?: {
                enabled?: boolean | undefined;
                value?: {
                    [x: string]: string | undefined;
                } | undefined;
            } | undefined;
            customServerName?: {
                enabled?: boolean | undefined;
                value?: string | undefined;
            } | undefined;
            ignoreCookie?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            rewrite?: {
                enabled?: boolean | undefined;
                body?: string | undefined;
                flag?: RewriteFlag | undefined;
            } | undefined;
            secureKey?: {
                enabled?: boolean | undefined;
                key?: string | undefined;
                type?: SecureKeyURLType | undefined;
            } | undefined;
            ipAddressAcl?: {
                enabled?: boolean | undefined;
                policyType?: PolicyType | undefined;
                exceptedValues?: string[] | undefined;
            } | undefined;
        } & {
            disableCache?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["options"]["disableCache"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            edgeCacheSettings?: ({
                enabled?: boolean | undefined;
                value?: {
                    simpleValue?: number | undefined;
                    customValues?: {
                        [x: string]: number | undefined;
                    } | undefined;
                } | undefined;
                defaultValue?: number | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: ({
                    simpleValue?: number | undefined;
                    customValues?: {
                        [x: string]: number | undefined;
                    } | undefined;
                } & {
                    simpleValue?: number | undefined;
                    customValues?: ({
                        [x: string]: number | undefined;
                    } & {
                        [x: string]: number | undefined;
                    } & Record<Exclude<keyof I["options"]["edgeCacheSettings"]["value"]["customValues"], string | number>, never>) | undefined;
                } & Record<Exclude<keyof I["options"]["edgeCacheSettings"]["value"], keyof ResourceOptions_CachingTimes>, never>) | undefined;
                defaultValue?: number | undefined;
            } & Record<Exclude<keyof I["options"]["edgeCacheSettings"], keyof ResourceOptions_EdgeCacheSettings>, never>) | undefined;
            browserCacheSettings?: ({
                enabled?: boolean | undefined;
                value?: number | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: number | undefined;
            } & Record<Exclude<keyof I["options"]["browserCacheSettings"], keyof ResourceOptions_Int64Option>, never>) | undefined;
            cacheHttpHeaders?: ({
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: (string[] & string[] & Record<Exclude<keyof I["options"]["cacheHttpHeaders"]["value"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["cacheHttpHeaders"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
            queryParamsOptions?: ({
                ignoreQueryString?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                queryParamsWhitelist?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
                queryParamsBlacklist?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
            } & {
                ignoreQueryString?: ({
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & Record<Exclude<keyof I["options"]["queryParamsOptions"]["ignoreQueryString"], keyof ResourceOptions_BoolOption>, never>) | undefined;
                queryParamsWhitelist?: ({
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: (string[] & string[] & Record<Exclude<keyof I["options"]["queryParamsOptions"]["queryParamsWhitelist"]["value"], keyof string[]>, never>) | undefined;
                } & Record<Exclude<keyof I["options"]["queryParamsOptions"]["queryParamsWhitelist"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
                queryParamsBlacklist?: ({
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: (string[] & string[] & Record<Exclude<keyof I["options"]["queryParamsOptions"]["queryParamsBlacklist"]["value"], keyof string[]>, never>) | undefined;
                } & Record<Exclude<keyof I["options"]["queryParamsOptions"]["queryParamsBlacklist"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["queryParamsOptions"], keyof ResourceOptions_QueryParamsOptions>, never>) | undefined;
            slice?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["options"]["slice"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            compressionOptions?: ({
                fetchCompressed?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                gzipOn?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                brotliCompression?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
            } & {
                fetchCompressed?: ({
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & Record<Exclude<keyof I["options"]["compressionOptions"]["fetchCompressed"], keyof ResourceOptions_BoolOption>, never>) | undefined;
                gzipOn?: ({
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & Record<Exclude<keyof I["options"]["compressionOptions"]["gzipOn"], keyof ResourceOptions_BoolOption>, never>) | undefined;
                brotliCompression?: ({
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: (string[] & string[] & Record<Exclude<keyof I["options"]["compressionOptions"]["brotliCompression"]["value"], keyof string[]>, never>) | undefined;
                } & Record<Exclude<keyof I["options"]["compressionOptions"]["brotliCompression"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["compressionOptions"], keyof ResourceOptions_CompressionOptions>, never>) | undefined;
            redirectOptions?: ({
                redirectHttpToHttps?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
                redirectHttpsToHttp?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
            } & {
                redirectHttpToHttps?: ({
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & Record<Exclude<keyof I["options"]["redirectOptions"]["redirectHttpToHttps"], keyof ResourceOptions_BoolOption>, never>) | undefined;
                redirectHttpsToHttp?: ({
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & Record<Exclude<keyof I["options"]["redirectOptions"]["redirectHttpsToHttp"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["redirectOptions"], keyof ResourceOptions_RedirectOptions>, never>) | undefined;
            hostOptions?: ({
                host?: {
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } | undefined;
                forwardHostHeader?: {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } | undefined;
            } & {
                host?: ({
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } & Record<Exclude<keyof I["options"]["hostOptions"]["host"], keyof ResourceOptions_StringOption>, never>) | undefined;
                forwardHostHeader?: ({
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: boolean | undefined;
                } & Record<Exclude<keyof I["options"]["hostOptions"]["forwardHostHeader"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["hostOptions"], keyof ResourceOptions_HostOptions>, never>) | undefined;
            staticHeaders?: ({
                enabled?: boolean | undefined;
                value?: {
                    [x: string]: string | undefined;
                } | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & Record<Exclude<keyof I["options"]["staticHeaders"]["value"], string | number>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["staticHeaders"], keyof ResourceOptions_StringsMapOption>, never>) | undefined;
            cors?: ({
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: (string[] & string[] & Record<Exclude<keyof I["options"]["cors"]["value"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["cors"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
            stale?: ({
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: (string[] & string[] & Record<Exclude<keyof I["options"]["stale"]["value"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["stale"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
            allowedHttpMethods?: ({
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: (string[] & string[] & Record<Exclude<keyof I["options"]["allowedHttpMethods"]["value"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["allowedHttpMethods"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
            proxyCacheMethodsSet?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["options"]["proxyCacheMethodsSet"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            disableProxyForceRanges?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["options"]["disableProxyForceRanges"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            staticRequestHeaders?: ({
                enabled?: boolean | undefined;
                value?: {
                    [x: string]: string | undefined;
                } | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & Record<Exclude<keyof I["options"]["staticRequestHeaders"]["value"], string | number>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["staticRequestHeaders"], keyof ResourceOptions_StringsMapOption>, never>) | undefined;
            customServerName?: ({
                enabled?: boolean | undefined;
                value?: string | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: string | undefined;
            } & Record<Exclude<keyof I["options"]["customServerName"], keyof ResourceOptions_StringOption>, never>) | undefined;
            ignoreCookie?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["options"]["ignoreCookie"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            rewrite?: ({
                enabled?: boolean | undefined;
                body?: string | undefined;
                flag?: RewriteFlag | undefined;
            } & {
                enabled?: boolean | undefined;
                body?: string | undefined;
                flag?: RewriteFlag | undefined;
            } & Record<Exclude<keyof I["options"]["rewrite"], keyof ResourceOptions_RewriteOption>, never>) | undefined;
            secureKey?: ({
                enabled?: boolean | undefined;
                key?: string | undefined;
                type?: SecureKeyURLType | undefined;
            } & {
                enabled?: boolean | undefined;
                key?: string | undefined;
                type?: SecureKeyURLType | undefined;
            } & Record<Exclude<keyof I["options"]["secureKey"], keyof ResourceOptions_SecureKeyOption>, never>) | undefined;
            ipAddressAcl?: ({
                enabled?: boolean | undefined;
                policyType?: PolicyType | undefined;
                exceptedValues?: string[] | undefined;
            } & {
                enabled?: boolean | undefined;
                policyType?: PolicyType | undefined;
                exceptedValues?: (string[] & string[] & Record<Exclude<keyof I["options"]["ipAddressAcl"]["exceptedValues"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["options"]["ipAddressAcl"], keyof ResourceOptions_IPAddressACLOption>, never>) | undefined;
        } & Record<Exclude<keyof I["options"], keyof ResourceOptions>, never>) | undefined;
        secondaryHostnames?: (string[] & string[] & Record<Exclude<keyof I["secondaryHostnames"], keyof string[]>, never>) | undefined;
        originGroupId?: number | undefined;
        originGroupName?: string | undefined;
        originProtocol?: OriginProtocol | undefined;
        sslCertificate?: ({
            type?: SSLCertificateType | undefined;
            status?: SSLCertificateStatus | undefined;
            data?: {
                cm?: {
                    id?: string | undefined;
                } | undefined;
            } | undefined;
        } & {
            type?: SSLCertificateType | undefined;
            status?: SSLCertificateStatus | undefined;
            data?: ({
                cm?: {
                    id?: string | undefined;
                } | undefined;
            } & {
                cm?: ({
                    id?: string | undefined;
                } & {
                    id?: string | undefined;
                } & Record<Exclude<keyof I["sslCertificate"]["data"]["cm"], "id">, never>) | undefined;
            } & Record<Exclude<keyof I["sslCertificate"]["data"], "cm">, never>) | undefined;
        } & Record<Exclude<keyof I["sslCertificate"], keyof SSLCertificate>, never>) | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof Resource>, never>>(object: I): Resource;
};
export declare const Resource_LabelsEntry: {
    encode(message: Resource_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Resource_LabelsEntry;
    fromJSON(object: any): Resource_LabelsEntry;
    toJSON(message: Resource_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof Resource_LabelsEntry>, never>>(object: I): Resource_LabelsEntry;
};
export declare const ResourceOptions: {
    encode(message: ResourceOptions, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions;
    fromJSON(object: any): ResourceOptions;
    toJSON(message: ResourceOptions): unknown;
    fromPartial<I extends {
        disableCache?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
        edgeCacheSettings?: {
            enabled?: boolean | undefined;
            value?: {
                simpleValue?: number | undefined;
                customValues?: {
                    [x: string]: number | undefined;
                } | undefined;
            } | undefined;
            defaultValue?: number | undefined;
        } | undefined;
        browserCacheSettings?: {
            enabled?: boolean | undefined;
            value?: number | undefined;
        } | undefined;
        cacheHttpHeaders?: {
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } | undefined;
        queryParamsOptions?: {
            ignoreQueryString?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            queryParamsWhitelist?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            queryParamsBlacklist?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
        } | undefined;
        slice?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
        compressionOptions?: {
            fetchCompressed?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            gzipOn?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            brotliCompression?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
        } | undefined;
        redirectOptions?: {
            redirectHttpToHttps?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            redirectHttpsToHttp?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
        } | undefined;
        hostOptions?: {
            host?: {
                enabled?: boolean | undefined;
                value?: string | undefined;
            } | undefined;
            forwardHostHeader?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
        } | undefined;
        staticHeaders?: {
            enabled?: boolean | undefined;
            value?: {
                [x: string]: string | undefined;
            } | undefined;
        } | undefined;
        cors?: {
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } | undefined;
        stale?: {
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } | undefined;
        allowedHttpMethods?: {
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } | undefined;
        proxyCacheMethodsSet?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
        disableProxyForceRanges?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
        staticRequestHeaders?: {
            enabled?: boolean | undefined;
            value?: {
                [x: string]: string | undefined;
            } | undefined;
        } | undefined;
        customServerName?: {
            enabled?: boolean | undefined;
            value?: string | undefined;
        } | undefined;
        ignoreCookie?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
        rewrite?: {
            enabled?: boolean | undefined;
            body?: string | undefined;
            flag?: RewriteFlag | undefined;
        } | undefined;
        secureKey?: {
            enabled?: boolean | undefined;
            key?: string | undefined;
            type?: SecureKeyURLType | undefined;
        } | undefined;
        ipAddressAcl?: {
            enabled?: boolean | undefined;
            policyType?: PolicyType | undefined;
            exceptedValues?: string[] | undefined;
        } | undefined;
    } & {
        disableCache?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["disableCache"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        edgeCacheSettings?: ({
            enabled?: boolean | undefined;
            value?: {
                simpleValue?: number | undefined;
                customValues?: {
                    [x: string]: number | undefined;
                } | undefined;
            } | undefined;
            defaultValue?: number | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: ({
                simpleValue?: number | undefined;
                customValues?: {
                    [x: string]: number | undefined;
                } | undefined;
            } & {
                simpleValue?: number | undefined;
                customValues?: ({
                    [x: string]: number | undefined;
                } & {
                    [x: string]: number | undefined;
                } & Record<Exclude<keyof I["edgeCacheSettings"]["value"]["customValues"], string | number>, never>) | undefined;
            } & Record<Exclude<keyof I["edgeCacheSettings"]["value"], keyof ResourceOptions_CachingTimes>, never>) | undefined;
            defaultValue?: number | undefined;
        } & Record<Exclude<keyof I["edgeCacheSettings"], keyof ResourceOptions_EdgeCacheSettings>, never>) | undefined;
        browserCacheSettings?: ({
            enabled?: boolean | undefined;
            value?: number | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: number | undefined;
        } & Record<Exclude<keyof I["browserCacheSettings"], keyof ResourceOptions_Int64Option>, never>) | undefined;
        cacheHttpHeaders?: ({
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: (string[] & string[] & Record<Exclude<keyof I["cacheHttpHeaders"]["value"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["cacheHttpHeaders"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
        queryParamsOptions?: ({
            ignoreQueryString?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            queryParamsWhitelist?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
            queryParamsBlacklist?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
        } & {
            ignoreQueryString?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["queryParamsOptions"]["ignoreQueryString"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            queryParamsWhitelist?: ({
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: (string[] & string[] & Record<Exclude<keyof I["queryParamsOptions"]["queryParamsWhitelist"]["value"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["queryParamsOptions"]["queryParamsWhitelist"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
            queryParamsBlacklist?: ({
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: (string[] & string[] & Record<Exclude<keyof I["queryParamsOptions"]["queryParamsBlacklist"]["value"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["queryParamsOptions"]["queryParamsBlacklist"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
        } & Record<Exclude<keyof I["queryParamsOptions"], keyof ResourceOptions_QueryParamsOptions>, never>) | undefined;
        slice?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["slice"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        compressionOptions?: ({
            fetchCompressed?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            gzipOn?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            brotliCompression?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
        } & {
            fetchCompressed?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["compressionOptions"]["fetchCompressed"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            gzipOn?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["compressionOptions"]["gzipOn"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            brotliCompression?: ({
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: (string[] & string[] & Record<Exclude<keyof I["compressionOptions"]["brotliCompression"]["value"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["compressionOptions"]["brotliCompression"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
        } & Record<Exclude<keyof I["compressionOptions"], keyof ResourceOptions_CompressionOptions>, never>) | undefined;
        redirectOptions?: ({
            redirectHttpToHttps?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
            redirectHttpsToHttp?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
        } & {
            redirectHttpToHttps?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["redirectOptions"]["redirectHttpToHttps"], keyof ResourceOptions_BoolOption>, never>) | undefined;
            redirectHttpsToHttp?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["redirectOptions"]["redirectHttpsToHttp"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        } & Record<Exclude<keyof I["redirectOptions"], keyof ResourceOptions_RedirectOptions>, never>) | undefined;
        hostOptions?: ({
            host?: {
                enabled?: boolean | undefined;
                value?: string | undefined;
            } | undefined;
            forwardHostHeader?: {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } | undefined;
        } & {
            host?: ({
                enabled?: boolean | undefined;
                value?: string | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: string | undefined;
            } & Record<Exclude<keyof I["hostOptions"]["host"], keyof ResourceOptions_StringOption>, never>) | undefined;
            forwardHostHeader?: ({
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: boolean | undefined;
            } & Record<Exclude<keyof I["hostOptions"]["forwardHostHeader"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        } & Record<Exclude<keyof I["hostOptions"], keyof ResourceOptions_HostOptions>, never>) | undefined;
        staticHeaders?: ({
            enabled?: boolean | undefined;
            value?: {
                [x: string]: string | undefined;
            } | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["staticHeaders"]["value"], string | number>, never>) | undefined;
        } & Record<Exclude<keyof I["staticHeaders"], keyof ResourceOptions_StringsMapOption>, never>) | undefined;
        cors?: ({
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: (string[] & string[] & Record<Exclude<keyof I["cors"]["value"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["cors"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
        stale?: ({
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: (string[] & string[] & Record<Exclude<keyof I["stale"]["value"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["stale"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
        allowedHttpMethods?: ({
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: (string[] & string[] & Record<Exclude<keyof I["allowedHttpMethods"]["value"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["allowedHttpMethods"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
        proxyCacheMethodsSet?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["proxyCacheMethodsSet"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        disableProxyForceRanges?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["disableProxyForceRanges"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        staticRequestHeaders?: ({
            enabled?: boolean | undefined;
            value?: {
                [x: string]: string | undefined;
            } | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["staticRequestHeaders"]["value"], string | number>, never>) | undefined;
        } & Record<Exclude<keyof I["staticRequestHeaders"], keyof ResourceOptions_StringsMapOption>, never>) | undefined;
        customServerName?: ({
            enabled?: boolean | undefined;
            value?: string | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: string | undefined;
        } & Record<Exclude<keyof I["customServerName"], keyof ResourceOptions_StringOption>, never>) | undefined;
        ignoreCookie?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["ignoreCookie"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        rewrite?: ({
            enabled?: boolean | undefined;
            body?: string | undefined;
            flag?: RewriteFlag | undefined;
        } & {
            enabled?: boolean | undefined;
            body?: string | undefined;
            flag?: RewriteFlag | undefined;
        } & Record<Exclude<keyof I["rewrite"], keyof ResourceOptions_RewriteOption>, never>) | undefined;
        secureKey?: ({
            enabled?: boolean | undefined;
            key?: string | undefined;
            type?: SecureKeyURLType | undefined;
        } & {
            enabled?: boolean | undefined;
            key?: string | undefined;
            type?: SecureKeyURLType | undefined;
        } & Record<Exclude<keyof I["secureKey"], keyof ResourceOptions_SecureKeyOption>, never>) | undefined;
        ipAddressAcl?: ({
            enabled?: boolean | undefined;
            policyType?: PolicyType | undefined;
            exceptedValues?: string[] | undefined;
        } & {
            enabled?: boolean | undefined;
            policyType?: PolicyType | undefined;
            exceptedValues?: (string[] & string[] & Record<Exclude<keyof I["ipAddressAcl"]["exceptedValues"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["ipAddressAcl"], keyof ResourceOptions_IPAddressACLOption>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions>, never>>(object: I): ResourceOptions;
};
export declare const ResourceOptions_BoolOption: {
    encode(message: ResourceOptions_BoolOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_BoolOption;
    fromJSON(object: any): ResourceOptions_BoolOption;
    toJSON(message: ResourceOptions_BoolOption): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        value?: boolean | undefined;
    } & {
        enabled?: boolean | undefined;
        value?: boolean | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_BoolOption>, never>>(object: I): ResourceOptions_BoolOption;
};
export declare const ResourceOptions_StringOption: {
    encode(message: ResourceOptions_StringOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_StringOption;
    fromJSON(object: any): ResourceOptions_StringOption;
    toJSON(message: ResourceOptions_StringOption): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        value?: string | undefined;
    } & {
        enabled?: boolean | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_StringOption>, never>>(object: I): ResourceOptions_StringOption;
};
export declare const ResourceOptions_Int64Option: {
    encode(message: ResourceOptions_Int64Option, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_Int64Option;
    fromJSON(object: any): ResourceOptions_Int64Option;
    toJSON(message: ResourceOptions_Int64Option): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        value?: number | undefined;
    } & {
        enabled?: boolean | undefined;
        value?: number | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_Int64Option>, never>>(object: I): ResourceOptions_Int64Option;
};
export declare const ResourceOptions_StringsListOption: {
    encode(message: ResourceOptions_StringsListOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_StringsListOption;
    fromJSON(object: any): ResourceOptions_StringsListOption;
    toJSON(message: ResourceOptions_StringsListOption): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        value?: string[] | undefined;
    } & {
        enabled?: boolean | undefined;
        value?: (string[] & string[] & Record<Exclude<keyof I["value"], keyof string[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_StringsListOption>, never>>(object: I): ResourceOptions_StringsListOption;
};
export declare const ResourceOptions_StringsMapOption: {
    encode(message: ResourceOptions_StringsMapOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_StringsMapOption;
    fromJSON(object: any): ResourceOptions_StringsMapOption;
    toJSON(message: ResourceOptions_StringsMapOption): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        value?: {
            [x: string]: string | undefined;
        } | undefined;
    } & {
        enabled?: boolean | undefined;
        value?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["value"], string | number>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_StringsMapOption>, never>>(object: I): ResourceOptions_StringsMapOption;
};
export declare const ResourceOptions_StringsMapOption_ValueEntry: {
    encode(message: ResourceOptions_StringsMapOption_ValueEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_StringsMapOption_ValueEntry;
    fromJSON(object: any): ResourceOptions_StringsMapOption_ValueEntry;
    toJSON(message: ResourceOptions_StringsMapOption_ValueEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_StringsMapOption_ValueEntry>, never>>(object: I): ResourceOptions_StringsMapOption_ValueEntry;
};
export declare const ResourceOptions_CachingTimes: {
    encode(message: ResourceOptions_CachingTimes, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_CachingTimes;
    fromJSON(object: any): ResourceOptions_CachingTimes;
    toJSON(message: ResourceOptions_CachingTimes): unknown;
    fromPartial<I extends {
        simpleValue?: number | undefined;
        customValues?: {
            [x: string]: number | undefined;
        } | undefined;
    } & {
        simpleValue?: number | undefined;
        customValues?: ({
            [x: string]: number | undefined;
        } & {
            [x: string]: number | undefined;
        } & Record<Exclude<keyof I["customValues"], string | number>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_CachingTimes>, never>>(object: I): ResourceOptions_CachingTimes;
};
export declare const ResourceOptions_CachingTimes_CustomValuesEntry: {
    encode(message: ResourceOptions_CachingTimes_CustomValuesEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_CachingTimes_CustomValuesEntry;
    fromJSON(object: any): ResourceOptions_CachingTimes_CustomValuesEntry;
    toJSON(message: ResourceOptions_CachingTimes_CustomValuesEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: number | undefined;
    } & {
        key?: string | undefined;
        value?: number | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_CachingTimes_CustomValuesEntry>, never>>(object: I): ResourceOptions_CachingTimes_CustomValuesEntry;
};
export declare const ResourceOptions_EdgeCacheSettings: {
    encode(message: ResourceOptions_EdgeCacheSettings, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_EdgeCacheSettings;
    fromJSON(object: any): ResourceOptions_EdgeCacheSettings;
    toJSON(message: ResourceOptions_EdgeCacheSettings): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        value?: {
            simpleValue?: number | undefined;
            customValues?: {
                [x: string]: number | undefined;
            } | undefined;
        } | undefined;
        defaultValue?: number | undefined;
    } & {
        enabled?: boolean | undefined;
        value?: ({
            simpleValue?: number | undefined;
            customValues?: {
                [x: string]: number | undefined;
            } | undefined;
        } & {
            simpleValue?: number | undefined;
            customValues?: ({
                [x: string]: number | undefined;
            } & {
                [x: string]: number | undefined;
            } & Record<Exclude<keyof I["value"]["customValues"], string | number>, never>) | undefined;
        } & Record<Exclude<keyof I["value"], keyof ResourceOptions_CachingTimes>, never>) | undefined;
        defaultValue?: number | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_EdgeCacheSettings>, never>>(object: I): ResourceOptions_EdgeCacheSettings;
};
export declare const ResourceOptions_StringVariableMapOption: {
    encode(message: ResourceOptions_StringVariableMapOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_StringVariableMapOption;
    fromJSON(object: any): ResourceOptions_StringVariableMapOption;
    toJSON(message: ResourceOptions_StringVariableMapOption): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        value?: {
            [x: string]: {
                value?: {
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } | undefined;
                values?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
            } | undefined;
        } | undefined;
    } & {
        enabled?: boolean | undefined;
        value?: ({
            [x: string]: {
                value?: {
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } | undefined;
                values?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
            } | undefined;
        } & {
            [x: string]: ({
                value?: {
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } | undefined;
                values?: {
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } | undefined;
            } & {
                value?: ({
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: string | undefined;
                } & Record<Exclude<keyof I["value"][string]["value"], keyof ResourceOptions_StringOption>, never>) | undefined;
                values?: ({
                    enabled?: boolean | undefined;
                    value?: string[] | undefined;
                } & {
                    enabled?: boolean | undefined;
                    value?: (string[] & string[] & Record<Exclude<keyof I["value"][string]["values"]["value"], keyof string[]>, never>) | undefined;
                } & Record<Exclude<keyof I["value"][string]["values"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
            } & Record<Exclude<keyof I["value"][string], keyof ResourceOptions_StringVariableMapOption_OneofString>, never>) | undefined;
        } & Record<Exclude<keyof I["value"], string | number>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_StringVariableMapOption>, never>>(object: I): ResourceOptions_StringVariableMapOption;
};
export declare const ResourceOptions_StringVariableMapOption_OneofString: {
    encode(message: ResourceOptions_StringVariableMapOption_OneofString, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_StringVariableMapOption_OneofString;
    fromJSON(object: any): ResourceOptions_StringVariableMapOption_OneofString;
    toJSON(message: ResourceOptions_StringVariableMapOption_OneofString): unknown;
    fromPartial<I extends {
        value?: {
            enabled?: boolean | undefined;
            value?: string | undefined;
        } | undefined;
        values?: {
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } | undefined;
    } & {
        value?: ({
            enabled?: boolean | undefined;
            value?: string | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: string | undefined;
        } & Record<Exclude<keyof I["value"], keyof ResourceOptions_StringOption>, never>) | undefined;
        values?: ({
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: (string[] & string[] & Record<Exclude<keyof I["values"]["value"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["values"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_StringVariableMapOption_OneofString>, never>>(object: I): ResourceOptions_StringVariableMapOption_OneofString;
};
export declare const ResourceOptions_StringVariableMapOption_ValueEntry: {
    encode(message: ResourceOptions_StringVariableMapOption_ValueEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_StringVariableMapOption_ValueEntry;
    fromJSON(object: any): ResourceOptions_StringVariableMapOption_ValueEntry;
    toJSON(message: ResourceOptions_StringVariableMapOption_ValueEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: {
            value?: {
                enabled?: boolean | undefined;
                value?: string | undefined;
            } | undefined;
            values?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
        } | undefined;
    } & {
        key?: string | undefined;
        value?: ({
            value?: {
                enabled?: boolean | undefined;
                value?: string | undefined;
            } | undefined;
            values?: {
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } | undefined;
        } & {
            value?: ({
                enabled?: boolean | undefined;
                value?: string | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: string | undefined;
            } & Record<Exclude<keyof I["value"]["value"], keyof ResourceOptions_StringOption>, never>) | undefined;
            values?: ({
                enabled?: boolean | undefined;
                value?: string[] | undefined;
            } & {
                enabled?: boolean | undefined;
                value?: (string[] & string[] & Record<Exclude<keyof I["value"]["values"]["value"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["value"]["values"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
        } & Record<Exclude<keyof I["value"], keyof ResourceOptions_StringVariableMapOption_OneofString>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_StringVariableMapOption_ValueEntry>, never>>(object: I): ResourceOptions_StringVariableMapOption_ValueEntry;
};
export declare const ResourceOptions_QueryParamsOptions: {
    encode(message: ResourceOptions_QueryParamsOptions, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_QueryParamsOptions;
    fromJSON(object: any): ResourceOptions_QueryParamsOptions;
    toJSON(message: ResourceOptions_QueryParamsOptions): unknown;
    fromPartial<I extends {
        ignoreQueryString?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
        queryParamsWhitelist?: {
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } | undefined;
        queryParamsBlacklist?: {
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } | undefined;
    } & {
        ignoreQueryString?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["ignoreQueryString"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        queryParamsWhitelist?: ({
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: (string[] & string[] & Record<Exclude<keyof I["queryParamsWhitelist"]["value"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["queryParamsWhitelist"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
        queryParamsBlacklist?: ({
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: (string[] & string[] & Record<Exclude<keyof I["queryParamsBlacklist"]["value"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["queryParamsBlacklist"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_QueryParamsOptions>, never>>(object: I): ResourceOptions_QueryParamsOptions;
};
export declare const ResourceOptions_RedirectOptions: {
    encode(message: ResourceOptions_RedirectOptions, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_RedirectOptions;
    fromJSON(object: any): ResourceOptions_RedirectOptions;
    toJSON(message: ResourceOptions_RedirectOptions): unknown;
    fromPartial<I extends {
        redirectHttpToHttps?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
        redirectHttpsToHttp?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
    } & {
        redirectHttpToHttps?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["redirectHttpToHttps"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        redirectHttpsToHttp?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["redirectHttpsToHttp"], keyof ResourceOptions_BoolOption>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_RedirectOptions>, never>>(object: I): ResourceOptions_RedirectOptions;
};
export declare const ResourceOptions_HostOptions: {
    encode(message: ResourceOptions_HostOptions, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_HostOptions;
    fromJSON(object: any): ResourceOptions_HostOptions;
    toJSON(message: ResourceOptions_HostOptions): unknown;
    fromPartial<I extends {
        host?: {
            enabled?: boolean | undefined;
            value?: string | undefined;
        } | undefined;
        forwardHostHeader?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
    } & {
        host?: ({
            enabled?: boolean | undefined;
            value?: string | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: string | undefined;
        } & Record<Exclude<keyof I["host"], keyof ResourceOptions_StringOption>, never>) | undefined;
        forwardHostHeader?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["forwardHostHeader"], keyof ResourceOptions_BoolOption>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_HostOptions>, never>>(object: I): ResourceOptions_HostOptions;
};
export declare const ResourceOptions_CompressionOptions: {
    encode(message: ResourceOptions_CompressionOptions, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_CompressionOptions;
    fromJSON(object: any): ResourceOptions_CompressionOptions;
    toJSON(message: ResourceOptions_CompressionOptions): unknown;
    fromPartial<I extends {
        fetchCompressed?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
        gzipOn?: {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } | undefined;
        brotliCompression?: {
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } | undefined;
    } & {
        fetchCompressed?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["fetchCompressed"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        gzipOn?: ({
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: boolean | undefined;
        } & Record<Exclude<keyof I["gzipOn"], keyof ResourceOptions_BoolOption>, never>) | undefined;
        brotliCompression?: ({
            enabled?: boolean | undefined;
            value?: string[] | undefined;
        } & {
            enabled?: boolean | undefined;
            value?: (string[] & string[] & Record<Exclude<keyof I["brotliCompression"]["value"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["brotliCompression"], keyof ResourceOptions_StringsListOption>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_CompressionOptions>, never>>(object: I): ResourceOptions_CompressionOptions;
};
export declare const ResourceOptions_RewriteOption: {
    encode(message: ResourceOptions_RewriteOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_RewriteOption;
    fromJSON(object: any): ResourceOptions_RewriteOption;
    toJSON(message: ResourceOptions_RewriteOption): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        body?: string | undefined;
        flag?: RewriteFlag | undefined;
    } & {
        enabled?: boolean | undefined;
        body?: string | undefined;
        flag?: RewriteFlag | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_RewriteOption>, never>>(object: I): ResourceOptions_RewriteOption;
};
export declare const ResourceOptions_SecureKeyOption: {
    encode(message: ResourceOptions_SecureKeyOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_SecureKeyOption;
    fromJSON(object: any): ResourceOptions_SecureKeyOption;
    toJSON(message: ResourceOptions_SecureKeyOption): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        key?: string | undefined;
        type?: SecureKeyURLType | undefined;
    } & {
        enabled?: boolean | undefined;
        key?: string | undefined;
        type?: SecureKeyURLType | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_SecureKeyOption>, never>>(object: I): ResourceOptions_SecureKeyOption;
};
export declare const ResourceOptions_IPAddressACLOption: {
    encode(message: ResourceOptions_IPAddressACLOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceOptions_IPAddressACLOption;
    fromJSON(object: any): ResourceOptions_IPAddressACLOption;
    toJSON(message: ResourceOptions_IPAddressACLOption): unknown;
    fromPartial<I extends {
        enabled?: boolean | undefined;
        policyType?: PolicyType | undefined;
        exceptedValues?: string[] | undefined;
    } & {
        enabled?: boolean | undefined;
        policyType?: PolicyType | undefined;
        exceptedValues?: (string[] & string[] & Record<Exclude<keyof I["exceptedValues"], keyof string[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ResourceOptions_IPAddressACLOption>, never>>(object: I): ResourceOptions_IPAddressACLOption;
};
export declare const SSLTargetCertificate: {
    encode(message: SSLTargetCertificate, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SSLTargetCertificate;
    fromJSON(object: any): SSLTargetCertificate;
    toJSON(message: SSLTargetCertificate): unknown;
    fromPartial<I extends {
        type?: SSLCertificateType | undefined;
        data?: {
            cm?: {
                id?: string | undefined;
            } | undefined;
        } | undefined;
    } & {
        type?: SSLCertificateType | undefined;
        data?: ({
            cm?: {
                id?: string | undefined;
            } | undefined;
        } & {
            cm?: ({
                id?: string | undefined;
            } & {
                id?: string | undefined;
            } & Record<Exclude<keyof I["data"]["cm"], "id">, never>) | undefined;
        } & Record<Exclude<keyof I["data"], "cm">, never>) | undefined;
    } & Record<Exclude<keyof I, keyof SSLTargetCertificate>, never>>(object: I): SSLTargetCertificate;
};
export declare const SSLCertificate: {
    encode(message: SSLCertificate, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SSLCertificate;
    fromJSON(object: any): SSLCertificate;
    toJSON(message: SSLCertificate): unknown;
    fromPartial<I extends {
        type?: SSLCertificateType | undefined;
        status?: SSLCertificateStatus | undefined;
        data?: {
            cm?: {
                id?: string | undefined;
            } | undefined;
        } | undefined;
    } & {
        type?: SSLCertificateType | undefined;
        status?: SSLCertificateStatus | undefined;
        data?: ({
            cm?: {
                id?: string | undefined;
            } | undefined;
        } & {
            cm?: ({
                id?: string | undefined;
            } & {
                id?: string | undefined;
            } & Record<Exclude<keyof I["data"]["cm"], "id">, never>) | undefined;
        } & Record<Exclude<keyof I["data"], "cm">, never>) | undefined;
    } & Record<Exclude<keyof I, keyof SSLCertificate>, never>>(object: I): SSLCertificate;
};
export declare const SSLCertificateData: {
    encode(message: SSLCertificateData, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SSLCertificateData;
    fromJSON(object: any): SSLCertificateData;
    toJSON(message: SSLCertificateData): unknown;
    fromPartial<I extends {
        cm?: {
            id?: string | undefined;
        } | undefined;
    } & {
        cm?: ({
            id?: string | undefined;
        } & {
            id?: string | undefined;
        } & Record<Exclude<keyof I["cm"], "id">, never>) | undefined;
    } & Record<Exclude<keyof I, "cm">, never>>(object: I): SSLCertificateData;
};
export declare const SSLCertificateCMData: {
    encode(message: SSLCertificateCMData, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SSLCertificateCMData;
    fromJSON(object: any): SSLCertificateCMData;
    toJSON(message: SSLCertificateCMData): unknown;
    fromPartial<I extends {
        id?: string | undefined;
    } & {
        id?: string | undefined;
    } & Record<Exclude<keyof I, "id">, never>>(object: I): SSLCertificateCMData;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
export {};
