/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface NetworkServicesHttpRouteConfig extends cdktf.TerraformMetaArguments {
    /**
    * A free-text description of the resource. Max length 1024 characters.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#description NetworkServicesHttpRoute#description}
    */
    readonly description?: string;
    /**
    * Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway.
    * Each gateway reference should match the pattern: projects/* /locations/global/gateways/<gateway_name>
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#gateways NetworkServicesHttpRoute#gateways}
     *
    * Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.
    */
    readonly gateways?: string[];
    /**
    * Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#hostnames NetworkServicesHttpRoute#hostnames}
    */
    readonly hostnames: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#id NetworkServicesHttpRoute#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id?: string;
    /**
    * Set of label tags associated with the HttpRoute resource.
    *
    * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
    * Please refer to the field 'effective_labels' for all of the labels present on the resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#labels NetworkServicesHttpRoute#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh.
    * Each mesh reference should match the pattern: projects/* /locations/global/meshes/<mesh_name>.
    * The attached Mesh should be of a type SIDECAR.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#meshes NetworkServicesHttpRoute#meshes}
     *
    * Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.
    */
    readonly meshes?: string[];
    /**
    * Name of the HttpRoute resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#name NetworkServicesHttpRoute#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#project NetworkServicesHttpRoute#project}
    */
    readonly project?: string;
    /**
    * rules block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#rules NetworkServicesHttpRoute#rules}
    */
    readonly rules: NetworkServicesHttpRouteRules[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#timeouts NetworkServicesHttpRoute#timeouts}
    */
    readonly timeouts?: NetworkServicesHttpRouteTimeouts;
}
export interface NetworkServicesHttpRouteRulesActionCorsPolicy {
    /**
    * In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#allow_credentials NetworkServicesHttpRoute#allow_credentials}
    */
    readonly allowCredentials?: boolean | cdktf.IResolvable;
    /**
    * Specifies the content for Access-Control-Allow-Headers header.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#allow_headers NetworkServicesHttpRoute#allow_headers}
    */
    readonly allowHeaders?: string[];
    /**
    * Specifies the content for Access-Control-Allow-Methods header.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#allow_methods NetworkServicesHttpRoute#allow_methods}
    */
    readonly allowMethods?: string[];
    /**
    * Specifies the regular expression patterns that match allowed origins.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#allow_origin_regexes NetworkServicesHttpRoute#allow_origin_regexes}
    */
    readonly allowOriginRegexes?: string[];
    /**
    * Specifies the list of origins that will be allowed to do CORS requests.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#allow_origins NetworkServicesHttpRoute#allow_origins}
    */
    readonly allowOrigins?: string[];
    /**
    * If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#disabled NetworkServicesHttpRoute#disabled}
    */
    readonly disabled?: boolean | cdktf.IResolvable;
    /**
    * Specifies the content for Access-Control-Expose-Headers header.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#expose_headers NetworkServicesHttpRoute#expose_headers}
    */
    readonly exposeHeaders?: string[];
    /**
    * Specifies how long result of a preflight request can be cached in seconds.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#max_age NetworkServicesHttpRoute#max_age}
    */
    readonly maxAge?: string;
}
export declare function networkServicesHttpRouteRulesActionCorsPolicyToTerraform(struct?: NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference | NetworkServicesHttpRouteRulesActionCorsPolicy): any;
export declare function networkServicesHttpRouteRulesActionCorsPolicyToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference | NetworkServicesHttpRouteRulesActionCorsPolicy): any;
export declare class NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionCorsPolicy | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionCorsPolicy | undefined);
    private _allowCredentials?;
    get allowCredentials(): boolean | cdktf.IResolvable;
    set allowCredentials(value: boolean | cdktf.IResolvable);
    resetAllowCredentials(): void;
    get allowCredentialsInput(): boolean | cdktf.IResolvable | undefined;
    private _allowHeaders?;
    get allowHeaders(): string[];
    set allowHeaders(value: string[]);
    resetAllowHeaders(): void;
    get allowHeadersInput(): string[] | undefined;
    private _allowMethods?;
    get allowMethods(): string[];
    set allowMethods(value: string[]);
    resetAllowMethods(): void;
    get allowMethodsInput(): string[] | undefined;
    private _allowOriginRegexes?;
    get allowOriginRegexes(): string[];
    set allowOriginRegexes(value: string[]);
    resetAllowOriginRegexes(): void;
    get allowOriginRegexesInput(): string[] | undefined;
    private _allowOrigins?;
    get allowOrigins(): string[];
    set allowOrigins(value: string[]);
    resetAllowOrigins(): void;
    get allowOriginsInput(): string[] | undefined;
    private _disabled?;
    get disabled(): boolean | cdktf.IResolvable;
    set disabled(value: boolean | cdktf.IResolvable);
    resetDisabled(): void;
    get disabledInput(): boolean | cdktf.IResolvable | undefined;
    private _exposeHeaders?;
    get exposeHeaders(): string[];
    set exposeHeaders(value: string[]);
    resetExposeHeaders(): void;
    get exposeHeadersInput(): string[] | undefined;
    private _maxAge?;
    get maxAge(): string;
    set maxAge(value: string);
    resetMaxAge(): void;
    get maxAgeInput(): string | undefined;
}
export interface NetworkServicesHttpRouteRulesActionDestinations {
    /**
    * The URL of a BackendService to route traffic to.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#service_name NetworkServicesHttpRoute#service_name}
    */
    readonly serviceName?: string;
    /**
    * Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
    * If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
    * If weights are specified for any one service name, they need to be specified for all of them.
    * If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#weight NetworkServicesHttpRoute#weight}
    */
    readonly weight?: number;
}
export declare function networkServicesHttpRouteRulesActionDestinationsToTerraform(struct?: NetworkServicesHttpRouteRulesActionDestinations | cdktf.IResolvable): any;
export declare function networkServicesHttpRouteRulesActionDestinationsToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionDestinations | cdktf.IResolvable): any;
export declare class NetworkServicesHttpRouteRulesActionDestinationsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): NetworkServicesHttpRouteRulesActionDestinations | cdktf.IResolvable | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionDestinations | cdktf.IResolvable | undefined);
    private _serviceName?;
    get serviceName(): string;
    set serviceName(value: string);
    resetServiceName(): void;
    get serviceNameInput(): string | undefined;
    private _weight?;
    get weight(): number;
    set weight(value: number);
    resetWeight(): void;
    get weightInput(): number | undefined;
}
export declare class NetworkServicesHttpRouteRulesActionDestinationsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: NetworkServicesHttpRouteRulesActionDestinations[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): NetworkServicesHttpRouteRulesActionDestinationsOutputReference;
}
export interface NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort {
    /**
    * The HTTP status code used to abort the request.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#http_status NetworkServicesHttpRoute#http_status}
    */
    readonly httpStatus?: number;
    /**
    * The percentage of traffic which will be aborted.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#percentage NetworkServicesHttpRoute#percentage}
    */
    readonly percentage?: number;
}
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort): any;
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort): any;
export declare class NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort | undefined);
    private _httpStatus?;
    get httpStatus(): number;
    set httpStatus(value: number);
    resetHttpStatus(): void;
    get httpStatusInput(): number | undefined;
    private _percentage?;
    get percentage(): number;
    set percentage(value: number);
    resetPercentage(): void;
    get percentageInput(): number | undefined;
}
export interface NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay {
    /**
    * Specify a fixed delay before forwarding the request.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#fixed_delay NetworkServicesHttpRoute#fixed_delay}
    */
    readonly fixedDelay?: string;
    /**
    * The percentage of traffic on which delay will be injected.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#percentage NetworkServicesHttpRoute#percentage}
    */
    readonly percentage?: number;
}
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay): any;
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay): any;
export declare class NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay | undefined);
    private _fixedDelay?;
    get fixedDelay(): string;
    set fixedDelay(value: string);
    resetFixedDelay(): void;
    get fixedDelayInput(): string | undefined;
    private _percentage?;
    get percentage(): number;
    set percentage(value: number);
    resetPercentage(): void;
    get percentageInput(): number | undefined;
}
export interface NetworkServicesHttpRouteRulesActionFaultInjectionPolicy {
    /**
    * abort block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#abort NetworkServicesHttpRoute#abort}
    */
    readonly abort?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort;
    /**
    * delay block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#delay NetworkServicesHttpRoute#delay}
    */
    readonly delay?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay;
}
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyToTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicy): any;
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicy): any;
export declare class NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicy | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicy | undefined);
    private _abort;
    get abort(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference;
    putAbort(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort): void;
    resetAbort(): void;
    get abortInput(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort | undefined;
    private _delay;
    get delay(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference;
    putDelay(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay): void;
    resetDelay(): void;
    get delayInput(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay | undefined;
}
export interface NetworkServicesHttpRouteRulesActionRedirect {
    /**
    * The host that will be used in the redirect response instead of the one that was supplied in the request.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#host_redirect NetworkServicesHttpRoute#host_redirect}
    */
    readonly hostRedirect?: string;
    /**
    * If set to true, the URL scheme in the redirected request is set to https.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#https_redirect NetworkServicesHttpRoute#https_redirect}
    */
    readonly httpsRedirect?: boolean | cdktf.IResolvable;
    /**
    * The path that will be used in the redirect response instead of the one that was supplied in the request. pathRedirect can not be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#path_redirect NetworkServicesHttpRoute#path_redirect}
    */
    readonly pathRedirect?: string;
    /**
    * The port that will be used in the redirected request instead of the one that was supplied in the request.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#port_redirect NetworkServicesHttpRoute#port_redirect}
    */
    readonly portRedirect?: number;
    /**
    * Indicates that during redirection, the matched prefix (or path) should be swapped with this value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#prefix_rewrite NetworkServicesHttpRoute#prefix_rewrite}
    */
    readonly prefixRewrite?: string;
    /**
    * The HTTP Status code to use for the redirect.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#response_code NetworkServicesHttpRoute#response_code}
    */
    readonly responseCode?: string;
    /**
    * If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#strip_query NetworkServicesHttpRoute#strip_query}
    */
    readonly stripQuery?: boolean | cdktf.IResolvable;
}
export declare function networkServicesHttpRouteRulesActionRedirectToTerraform(struct?: NetworkServicesHttpRouteRulesActionRedirectOutputReference | NetworkServicesHttpRouteRulesActionRedirect): any;
export declare function networkServicesHttpRouteRulesActionRedirectToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRedirectOutputReference | NetworkServicesHttpRouteRulesActionRedirect): any;
export declare class NetworkServicesHttpRouteRulesActionRedirectOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionRedirect | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionRedirect | undefined);
    private _hostRedirect?;
    get hostRedirect(): string;
    set hostRedirect(value: string);
    resetHostRedirect(): void;
    get hostRedirectInput(): string | undefined;
    private _httpsRedirect?;
    get httpsRedirect(): boolean | cdktf.IResolvable;
    set httpsRedirect(value: boolean | cdktf.IResolvable);
    resetHttpsRedirect(): void;
    get httpsRedirectInput(): boolean | cdktf.IResolvable | undefined;
    private _pathRedirect?;
    get pathRedirect(): string;
    set pathRedirect(value: string);
    resetPathRedirect(): void;
    get pathRedirectInput(): string | undefined;
    private _portRedirect?;
    get portRedirect(): number;
    set portRedirect(value: number);
    resetPortRedirect(): void;
    get portRedirectInput(): number | undefined;
    private _prefixRewrite?;
    get prefixRewrite(): string;
    set prefixRewrite(value: string);
    resetPrefixRewrite(): void;
    get prefixRewriteInput(): string | undefined;
    private _responseCode?;
    get responseCode(): string;
    set responseCode(value: string);
    resetResponseCode(): void;
    get responseCodeInput(): string | undefined;
    private _stripQuery?;
    get stripQuery(): boolean | cdktf.IResolvable;
    set stripQuery(value: boolean | cdktf.IResolvable);
    resetStripQuery(): void;
    get stripQueryInput(): boolean | cdktf.IResolvable | undefined;
}
export interface NetworkServicesHttpRouteRulesActionRequestHeaderModifier {
    /**
    * Add the headers with given map where key is the name of the header, value is the value of the header.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#add NetworkServicesHttpRoute#add}
    */
    readonly add?: {
        [key: string]: string;
    };
    /**
    * Remove headers (matching by header names) specified in the list.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#remove NetworkServicesHttpRoute#remove}
    */
    readonly remove?: string[];
    /**
    * Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#set NetworkServicesHttpRoute#set}
    */
    readonly set?: {
        [key: string]: string;
    };
}
export declare function networkServicesHttpRouteRulesActionRequestHeaderModifierToTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference | NetworkServicesHttpRouteRulesActionRequestHeaderModifier): any;
export declare function networkServicesHttpRouteRulesActionRequestHeaderModifierToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference | NetworkServicesHttpRouteRulesActionRequestHeaderModifier): any;
export declare class NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionRequestHeaderModifier | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionRequestHeaderModifier | undefined);
    private _add?;
    get add(): {
        [key: string]: string;
    };
    set add(value: {
        [key: string]: string;
    });
    resetAdd(): void;
    get addInput(): {
        [key: string]: string;
    } | undefined;
    private _remove?;
    get remove(): string[];
    set remove(value: string[]);
    resetRemove(): void;
    get removeInput(): string[] | undefined;
    private _set?;
    get set(): {
        [key: string]: string;
    };
    set set(value: {
        [key: string]: string;
    });
    resetSet(): void;
    get setInput(): {
        [key: string]: string;
    } | undefined;
}
export interface NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination {
    /**
    * The URL of a BackendService to route traffic to.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#service_name NetworkServicesHttpRoute#service_name}
    */
    readonly serviceName?: string;
    /**
    * Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
    * If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
    * If weights are specified for any one service name, they need to be specified for all of them.
    * If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#weight NetworkServicesHttpRoute#weight}
    */
    readonly weight?: number;
}
export declare function networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference | NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination): any;
export declare function networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference | NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination): any;
export declare class NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination | undefined);
    private _serviceName?;
    get serviceName(): string;
    set serviceName(value: string);
    resetServiceName(): void;
    get serviceNameInput(): string | undefined;
    private _weight?;
    get weight(): number;
    set weight(value: number);
    resetWeight(): void;
    get weightInput(): number | undefined;
}
export interface NetworkServicesHttpRouteRulesActionRequestMirrorPolicy {
    /**
    * destination block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#destination NetworkServicesHttpRoute#destination}
    */
    readonly destination?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination;
}
export declare function networkServicesHttpRouteRulesActionRequestMirrorPolicyToTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyOutputReference | NetworkServicesHttpRouteRulesActionRequestMirrorPolicy): any;
export declare function networkServicesHttpRouteRulesActionRequestMirrorPolicyToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyOutputReference | NetworkServicesHttpRouteRulesActionRequestMirrorPolicy): any;
export declare class NetworkServicesHttpRouteRulesActionRequestMirrorPolicyOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicy | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionRequestMirrorPolicy | undefined);
    private _destination;
    get destination(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference;
    putDestination(value: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination): void;
    resetDestination(): void;
    get destinationInput(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination | undefined;
}
export interface NetworkServicesHttpRouteRulesActionResponseHeaderModifier {
    /**
    * Add the headers with given map where key is the name of the header, value is the value of the header.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#add NetworkServicesHttpRoute#add}
    */
    readonly add?: {
        [key: string]: string;
    };
    /**
    * Remove headers (matching by header names) specified in the list.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#remove NetworkServicesHttpRoute#remove}
    */
    readonly remove?: string[];
    /**
    * Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#set NetworkServicesHttpRoute#set}
    */
    readonly set?: {
        [key: string]: string;
    };
}
export declare function networkServicesHttpRouteRulesActionResponseHeaderModifierToTerraform(struct?: NetworkServicesHttpRouteRulesActionResponseHeaderModifierOutputReference | NetworkServicesHttpRouteRulesActionResponseHeaderModifier): any;
export declare function networkServicesHttpRouteRulesActionResponseHeaderModifierToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionResponseHeaderModifierOutputReference | NetworkServicesHttpRouteRulesActionResponseHeaderModifier): any;
export declare class NetworkServicesHttpRouteRulesActionResponseHeaderModifierOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionResponseHeaderModifier | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionResponseHeaderModifier | undefined);
    private _add?;
    get add(): {
        [key: string]: string;
    };
    set add(value: {
        [key: string]: string;
    });
    resetAdd(): void;
    get addInput(): {
        [key: string]: string;
    } | undefined;
    private _remove?;
    get remove(): string[];
    set remove(value: string[]);
    resetRemove(): void;
    get removeInput(): string[] | undefined;
    private _set?;
    get set(): {
        [key: string]: string;
    };
    set set(value: {
        [key: string]: string;
    });
    resetSet(): void;
    get setInput(): {
        [key: string]: string;
    } | undefined;
}
export interface NetworkServicesHttpRouteRulesActionRetryPolicy {
    /**
    * Specifies the allowed number of retries.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#num_retries NetworkServicesHttpRoute#num_retries}
    */
    readonly numRetries?: number;
    /**
    * Specifies a non-zero timeout per retry attempt. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#per_try_timeout NetworkServicesHttpRoute#per_try_timeout}
    */
    readonly perTryTimeout?: string;
    /**
    * Specifies one or more conditions when this retry policy applies.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#retry_conditions NetworkServicesHttpRoute#retry_conditions}
    */
    readonly retryConditions?: string[];
}
export declare function networkServicesHttpRouteRulesActionRetryPolicyToTerraform(struct?: NetworkServicesHttpRouteRulesActionRetryPolicyOutputReference | NetworkServicesHttpRouteRulesActionRetryPolicy): any;
export declare function networkServicesHttpRouteRulesActionRetryPolicyToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRetryPolicyOutputReference | NetworkServicesHttpRouteRulesActionRetryPolicy): any;
export declare class NetworkServicesHttpRouteRulesActionRetryPolicyOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionRetryPolicy | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionRetryPolicy | undefined);
    private _numRetries?;
    get numRetries(): number;
    set numRetries(value: number);
    resetNumRetries(): void;
    get numRetriesInput(): number | undefined;
    private _perTryTimeout?;
    get perTryTimeout(): string;
    set perTryTimeout(value: string);
    resetPerTryTimeout(): void;
    get perTryTimeoutInput(): string | undefined;
    private _retryConditions?;
    get retryConditions(): string[];
    set retryConditions(value: string[]);
    resetRetryConditions(): void;
    get retryConditionsInput(): string[] | undefined;
}
export interface NetworkServicesHttpRouteRulesActionUrlRewrite {
    /**
    * Prior to forwarding the request to the selected destination, the requests host header is replaced by this value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#host_rewrite NetworkServicesHttpRoute#host_rewrite}
    */
    readonly hostRewrite?: string;
    /**
    * Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#path_prefix_rewrite NetworkServicesHttpRoute#path_prefix_rewrite}
    */
    readonly pathPrefixRewrite?: string;
}
export declare function networkServicesHttpRouteRulesActionUrlRewriteToTerraform(struct?: NetworkServicesHttpRouteRulesActionUrlRewriteOutputReference | NetworkServicesHttpRouteRulesActionUrlRewrite): any;
export declare function networkServicesHttpRouteRulesActionUrlRewriteToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionUrlRewriteOutputReference | NetworkServicesHttpRouteRulesActionUrlRewrite): any;
export declare class NetworkServicesHttpRouteRulesActionUrlRewriteOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesActionUrlRewrite | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesActionUrlRewrite | undefined);
    private _hostRewrite?;
    get hostRewrite(): string;
    set hostRewrite(value: string);
    resetHostRewrite(): void;
    get hostRewriteInput(): string | undefined;
    private _pathPrefixRewrite?;
    get pathPrefixRewrite(): string;
    set pathPrefixRewrite(value: string);
    resetPathPrefixRewrite(): void;
    get pathPrefixRewriteInput(): string | undefined;
}
export interface NetworkServicesHttpRouteRulesAction {
    /**
    * Specifies the timeout for selected route.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#timeout NetworkServicesHttpRoute#timeout}
    */
    readonly timeout?: string;
    /**
    * cors_policy block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#cors_policy NetworkServicesHttpRoute#cors_policy}
    */
    readonly corsPolicy?: NetworkServicesHttpRouteRulesActionCorsPolicy;
    /**
    * destinations block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#destinations NetworkServicesHttpRoute#destinations}
    */
    readonly destinations?: NetworkServicesHttpRouteRulesActionDestinations[] | cdktf.IResolvable;
    /**
    * fault_injection_policy block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#fault_injection_policy NetworkServicesHttpRoute#fault_injection_policy}
    */
    readonly faultInjectionPolicy?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicy;
    /**
    * redirect block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#redirect NetworkServicesHttpRoute#redirect}
    */
    readonly redirect?: NetworkServicesHttpRouteRulesActionRedirect;
    /**
    * request_header_modifier block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#request_header_modifier NetworkServicesHttpRoute#request_header_modifier}
    */
    readonly requestHeaderModifier?: NetworkServicesHttpRouteRulesActionRequestHeaderModifier;
    /**
    * request_mirror_policy block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#request_mirror_policy NetworkServicesHttpRoute#request_mirror_policy}
    */
    readonly requestMirrorPolicy?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicy;
    /**
    * response_header_modifier block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#response_header_modifier NetworkServicesHttpRoute#response_header_modifier}
    */
    readonly responseHeaderModifier?: NetworkServicesHttpRouteRulesActionResponseHeaderModifier;
    /**
    * retry_policy block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#retry_policy NetworkServicesHttpRoute#retry_policy}
    */
    readonly retryPolicy?: NetworkServicesHttpRouteRulesActionRetryPolicy;
    /**
    * url_rewrite block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#url_rewrite NetworkServicesHttpRoute#url_rewrite}
    */
    readonly urlRewrite?: NetworkServicesHttpRouteRulesActionUrlRewrite;
}
export declare function networkServicesHttpRouteRulesActionToTerraform(struct?: NetworkServicesHttpRouteRulesActionOutputReference | NetworkServicesHttpRouteRulesAction): any;
export declare function networkServicesHttpRouteRulesActionToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionOutputReference | NetworkServicesHttpRouteRulesAction): any;
export declare class NetworkServicesHttpRouteRulesActionOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesAction | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesAction | undefined);
    private _timeout?;
    get timeout(): string;
    set timeout(value: string);
    resetTimeout(): void;
    get timeoutInput(): string | undefined;
    private _corsPolicy;
    get corsPolicy(): NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference;
    putCorsPolicy(value: NetworkServicesHttpRouteRulesActionCorsPolicy): void;
    resetCorsPolicy(): void;
    get corsPolicyInput(): NetworkServicesHttpRouteRulesActionCorsPolicy | undefined;
    private _destinations;
    get destinations(): NetworkServicesHttpRouteRulesActionDestinationsList;
    putDestinations(value: NetworkServicesHttpRouteRulesActionDestinations[] | cdktf.IResolvable): void;
    resetDestinations(): void;
    get destinationsInput(): cdktf.IResolvable | NetworkServicesHttpRouteRulesActionDestinations[] | undefined;
    private _faultInjectionPolicy;
    get faultInjectionPolicy(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference;
    putFaultInjectionPolicy(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicy): void;
    resetFaultInjectionPolicy(): void;
    get faultInjectionPolicyInput(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicy | undefined;
    private _redirect;
    get redirect(): NetworkServicesHttpRouteRulesActionRedirectOutputReference;
    putRedirect(value: NetworkServicesHttpRouteRulesActionRedirect): void;
    resetRedirect(): void;
    get redirectInput(): NetworkServicesHttpRouteRulesActionRedirect | undefined;
    private _requestHeaderModifier;
    get requestHeaderModifier(): NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference;
    putRequestHeaderModifier(value: NetworkServicesHttpRouteRulesActionRequestHeaderModifier): void;
    resetRequestHeaderModifier(): void;
    get requestHeaderModifierInput(): NetworkServicesHttpRouteRulesActionRequestHeaderModifier | undefined;
    private _requestMirrorPolicy;
    get requestMirrorPolicy(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicyOutputReference;
    putRequestMirrorPolicy(value: NetworkServicesHttpRouteRulesActionRequestMirrorPolicy): void;
    resetRequestMirrorPolicy(): void;
    get requestMirrorPolicyInput(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicy | undefined;
    private _responseHeaderModifier;
    get responseHeaderModifier(): NetworkServicesHttpRouteRulesActionResponseHeaderModifierOutputReference;
    putResponseHeaderModifier(value: NetworkServicesHttpRouteRulesActionResponseHeaderModifier): void;
    resetResponseHeaderModifier(): void;
    get responseHeaderModifierInput(): NetworkServicesHttpRouteRulesActionResponseHeaderModifier | undefined;
    private _retryPolicy;
    get retryPolicy(): NetworkServicesHttpRouteRulesActionRetryPolicyOutputReference;
    putRetryPolicy(value: NetworkServicesHttpRouteRulesActionRetryPolicy): void;
    resetRetryPolicy(): void;
    get retryPolicyInput(): NetworkServicesHttpRouteRulesActionRetryPolicy | undefined;
    private _urlRewrite;
    get urlRewrite(): NetworkServicesHttpRouteRulesActionUrlRewriteOutputReference;
    putUrlRewrite(value: NetworkServicesHttpRouteRulesActionUrlRewrite): void;
    resetUrlRewrite(): void;
    get urlRewriteInput(): NetworkServicesHttpRouteRulesActionUrlRewrite | undefined;
}
export interface NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch {
    /**
    * End of the range (exclusive).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#end NetworkServicesHttpRoute#end}
    */
    readonly end: number;
    /**
    * Start of the range (inclusive).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#start NetworkServicesHttpRoute#start}
    */
    readonly start: number;
}
export declare function networkServicesHttpRouteRulesMatchesHeadersRangeMatchToTerraform(struct?: NetworkServicesHttpRouteRulesMatchesHeadersRangeMatchOutputReference | NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch): any;
export declare function networkServicesHttpRouteRulesMatchesHeadersRangeMatchToHclTerraform(struct?: NetworkServicesHttpRouteRulesMatchesHeadersRangeMatchOutputReference | NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch): any;
export declare class NetworkServicesHttpRouteRulesMatchesHeadersRangeMatchOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch | undefined);
    private _end?;
    get end(): number;
    set end(value: number);
    get endInput(): number | undefined;
    private _start?;
    get start(): number;
    set start(value: number);
    get startInput(): number | undefined;
}
export interface NetworkServicesHttpRouteRulesMatchesHeaders {
    /**
    * The value of the header should match exactly the content of exactMatch.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#exact_match NetworkServicesHttpRoute#exact_match}
    */
    readonly exactMatch?: string;
    /**
    * The name of the HTTP header to match against.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#header NetworkServicesHttpRoute#header}
    */
    readonly header?: string;
    /**
    * If specified, the match result will be inverted before checking. Default value is set to false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#invert_match NetworkServicesHttpRoute#invert_match}
    */
    readonly invertMatch?: boolean | cdktf.IResolvable;
    /**
    * The value of the header must start with the contents of prefixMatch.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#prefix_match NetworkServicesHttpRoute#prefix_match}
    */
    readonly prefixMatch?: string;
    /**
    * A header with headerName must exist. The match takes place whether or not the header has a value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#present_match NetworkServicesHttpRoute#present_match}
    */
    readonly presentMatch?: boolean | cdktf.IResolvable;
    /**
    * The value of the header must match the regular expression specified in regexMatch.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#regex_match NetworkServicesHttpRoute#regex_match}
    */
    readonly regexMatch?: string;
    /**
    * The value of the header must end with the contents of suffixMatch.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#suffix_match NetworkServicesHttpRoute#suffix_match}
    */
    readonly suffixMatch?: string;
    /**
    * range_match block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#range_match NetworkServicesHttpRoute#range_match}
    */
    readonly rangeMatch?: NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch;
}
export declare function networkServicesHttpRouteRulesMatchesHeadersToTerraform(struct?: NetworkServicesHttpRouteRulesMatchesHeaders | cdktf.IResolvable): any;
export declare function networkServicesHttpRouteRulesMatchesHeadersToHclTerraform(struct?: NetworkServicesHttpRouteRulesMatchesHeaders | cdktf.IResolvable): any;
export declare class NetworkServicesHttpRouteRulesMatchesHeadersOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): NetworkServicesHttpRouteRulesMatchesHeaders | cdktf.IResolvable | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesMatchesHeaders | cdktf.IResolvable | undefined);
    private _exactMatch?;
    get exactMatch(): string;
    set exactMatch(value: string);
    resetExactMatch(): void;
    get exactMatchInput(): string | undefined;
    private _header?;
    get header(): string;
    set header(value: string);
    resetHeader(): void;
    get headerInput(): string | undefined;
    private _invertMatch?;
    get invertMatch(): boolean | cdktf.IResolvable;
    set invertMatch(value: boolean | cdktf.IResolvable);
    resetInvertMatch(): void;
    get invertMatchInput(): boolean | cdktf.IResolvable | undefined;
    private _prefixMatch?;
    get prefixMatch(): string;
    set prefixMatch(value: string);
    resetPrefixMatch(): void;
    get prefixMatchInput(): string | undefined;
    private _presentMatch?;
    get presentMatch(): boolean | cdktf.IResolvable;
    set presentMatch(value: boolean | cdktf.IResolvable);
    resetPresentMatch(): void;
    get presentMatchInput(): boolean | cdktf.IResolvable | undefined;
    private _regexMatch?;
    get regexMatch(): string;
    set regexMatch(value: string);
    resetRegexMatch(): void;
    get regexMatchInput(): string | undefined;
    private _suffixMatch?;
    get suffixMatch(): string;
    set suffixMatch(value: string);
    resetSuffixMatch(): void;
    get suffixMatchInput(): string | undefined;
    private _rangeMatch;
    get rangeMatch(): NetworkServicesHttpRouteRulesMatchesHeadersRangeMatchOutputReference;
    putRangeMatch(value: NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch): void;
    resetRangeMatch(): void;
    get rangeMatchInput(): NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch | undefined;
}
export declare class NetworkServicesHttpRouteRulesMatchesHeadersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: NetworkServicesHttpRouteRulesMatchesHeaders[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): NetworkServicesHttpRouteRulesMatchesHeadersOutputReference;
}
export interface NetworkServicesHttpRouteRulesMatchesQueryParameters {
    /**
    * The value of the query parameter must exactly match the contents of exactMatch.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#exact_match NetworkServicesHttpRoute#exact_match}
    */
    readonly exactMatch?: string;
    /**
    * Specifies that the QueryParameterMatcher matches if request contains query parameter, irrespective of whether the parameter has a value or not.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#present_match NetworkServicesHttpRoute#present_match}
    */
    readonly presentMatch?: boolean | cdktf.IResolvable;
    /**
    * The name of the query parameter to match.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#query_parameter NetworkServicesHttpRoute#query_parameter}
    */
    readonly queryParameter?: string;
    /**
    * The value of the query parameter must match the regular expression specified by regexMatch.For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#regex_match NetworkServicesHttpRoute#regex_match}
    */
    readonly regexMatch?: string;
}
export declare function networkServicesHttpRouteRulesMatchesQueryParametersToTerraform(struct?: NetworkServicesHttpRouteRulesMatchesQueryParameters | cdktf.IResolvable): any;
export declare function networkServicesHttpRouteRulesMatchesQueryParametersToHclTerraform(struct?: NetworkServicesHttpRouteRulesMatchesQueryParameters | cdktf.IResolvable): any;
export declare class NetworkServicesHttpRouteRulesMatchesQueryParametersOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): NetworkServicesHttpRouteRulesMatchesQueryParameters | cdktf.IResolvable | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesMatchesQueryParameters | cdktf.IResolvable | undefined);
    private _exactMatch?;
    get exactMatch(): string;
    set exactMatch(value: string);
    resetExactMatch(): void;
    get exactMatchInput(): string | undefined;
    private _presentMatch?;
    get presentMatch(): boolean | cdktf.IResolvable;
    set presentMatch(value: boolean | cdktf.IResolvable);
    resetPresentMatch(): void;
    get presentMatchInput(): boolean | cdktf.IResolvable | undefined;
    private _queryParameter?;
    get queryParameter(): string;
    set queryParameter(value: string);
    resetQueryParameter(): void;
    get queryParameterInput(): string | undefined;
    private _regexMatch?;
    get regexMatch(): string;
    set regexMatch(value: string);
    resetRegexMatch(): void;
    get regexMatchInput(): string | undefined;
}
export declare class NetworkServicesHttpRouteRulesMatchesQueryParametersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: NetworkServicesHttpRouteRulesMatchesQueryParameters[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): NetworkServicesHttpRouteRulesMatchesQueryParametersOutputReference;
}
export interface NetworkServicesHttpRouteRulesMatches {
    /**
    * The HTTP request path value should exactly match this value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#full_path_match NetworkServicesHttpRoute#full_path_match}
    */
    readonly fullPathMatch?: string;
    /**
    * Specifies if prefixMatch and fullPathMatch matches are case sensitive. The default value is false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#ignore_case NetworkServicesHttpRoute#ignore_case}
    */
    readonly ignoreCase?: boolean | cdktf.IResolvable;
    /**
    * The HTTP request path value must begin with specified prefixMatch. prefixMatch must begin with a /.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#prefix_match NetworkServicesHttpRoute#prefix_match}
    */
    readonly prefixMatch?: string;
    /**
    * The HTTP request path value must satisfy the regular expression specified by regexMatch after removing any query parameters and anchor supplied with the original URL. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#regex_match NetworkServicesHttpRoute#regex_match}
    */
    readonly regexMatch?: string;
    /**
    * headers block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#headers NetworkServicesHttpRoute#headers}
    */
    readonly headers?: NetworkServicesHttpRouteRulesMatchesHeaders[] | cdktf.IResolvable;
    /**
    * query_parameters block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#query_parameters NetworkServicesHttpRoute#query_parameters}
    */
    readonly queryParameters?: NetworkServicesHttpRouteRulesMatchesQueryParameters[] | cdktf.IResolvable;
}
export declare function networkServicesHttpRouteRulesMatchesToTerraform(struct?: NetworkServicesHttpRouteRulesMatches | cdktf.IResolvable): any;
export declare function networkServicesHttpRouteRulesMatchesToHclTerraform(struct?: NetworkServicesHttpRouteRulesMatches | cdktf.IResolvable): any;
export declare class NetworkServicesHttpRouteRulesMatchesOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): NetworkServicesHttpRouteRulesMatches | cdktf.IResolvable | undefined;
    set internalValue(value: NetworkServicesHttpRouteRulesMatches | cdktf.IResolvable | undefined);
    private _fullPathMatch?;
    get fullPathMatch(): string;
    set fullPathMatch(value: string);
    resetFullPathMatch(): void;
    get fullPathMatchInput(): string | undefined;
    private _ignoreCase?;
    get ignoreCase(): boolean | cdktf.IResolvable;
    set ignoreCase(value: boolean | cdktf.IResolvable);
    resetIgnoreCase(): void;
    get ignoreCaseInput(): boolean | cdktf.IResolvable | undefined;
    private _prefixMatch?;
    get prefixMatch(): string;
    set prefixMatch(value: string);
    resetPrefixMatch(): void;
    get prefixMatchInput(): string | undefined;
    private _regexMatch?;
    get regexMatch(): string;
    set regexMatch(value: string);
    resetRegexMatch(): void;
    get regexMatchInput(): string | undefined;
    private _headers;
    get headers(): NetworkServicesHttpRouteRulesMatchesHeadersList;
    putHeaders(value: NetworkServicesHttpRouteRulesMatchesHeaders[] | cdktf.IResolvable): void;
    resetHeaders(): void;
    get headersInput(): cdktf.IResolvable | NetworkServicesHttpRouteRulesMatchesHeaders[] | undefined;
    private _queryParameters;
    get queryParameters(): NetworkServicesHttpRouteRulesMatchesQueryParametersList;
    putQueryParameters(value: NetworkServicesHttpRouteRulesMatchesQueryParameters[] | cdktf.IResolvable): void;
    resetQueryParameters(): void;
    get queryParametersInput(): cdktf.IResolvable | NetworkServicesHttpRouteRulesMatchesQueryParameters[] | undefined;
}
export declare class NetworkServicesHttpRouteRulesMatchesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: NetworkServicesHttpRouteRulesMatches[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): NetworkServicesHttpRouteRulesMatchesOutputReference;
}
export interface NetworkServicesHttpRouteRules {
    /**
    * action block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#action NetworkServicesHttpRoute#action}
    */
    readonly action?: NetworkServicesHttpRouteRulesAction;
    /**
    * matches block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#matches NetworkServicesHttpRoute#matches}
    */
    readonly matches?: NetworkServicesHttpRouteRulesMatches[] | cdktf.IResolvable;
}
export declare function networkServicesHttpRouteRulesToTerraform(struct?: NetworkServicesHttpRouteRules | cdktf.IResolvable): any;
export declare function networkServicesHttpRouteRulesToHclTerraform(struct?: NetworkServicesHttpRouteRules | cdktf.IResolvable): any;
export declare class NetworkServicesHttpRouteRulesOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): NetworkServicesHttpRouteRules | cdktf.IResolvable | undefined;
    set internalValue(value: NetworkServicesHttpRouteRules | cdktf.IResolvable | undefined);
    private _action;
    get action(): NetworkServicesHttpRouteRulesActionOutputReference;
    putAction(value: NetworkServicesHttpRouteRulesAction): void;
    resetAction(): void;
    get actionInput(): NetworkServicesHttpRouteRulesAction | undefined;
    private _matches;
    get matches(): NetworkServicesHttpRouteRulesMatchesList;
    putMatches(value: NetworkServicesHttpRouteRulesMatches[] | cdktf.IResolvable): void;
    resetMatches(): void;
    get matchesInput(): cdktf.IResolvable | NetworkServicesHttpRouteRulesMatches[] | undefined;
}
export declare class NetworkServicesHttpRouteRulesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: NetworkServicesHttpRouteRules[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): NetworkServicesHttpRouteRulesOutputReference;
}
export interface NetworkServicesHttpRouteTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#create NetworkServicesHttpRoute#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#delete NetworkServicesHttpRoute#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#update NetworkServicesHttpRoute#update}
    */
    readonly update?: string;
}
export declare function networkServicesHttpRouteTimeoutsToTerraform(struct?: NetworkServicesHttpRouteTimeouts | cdktf.IResolvable): any;
export declare function networkServicesHttpRouteTimeoutsToHclTerraform(struct?: NetworkServicesHttpRouteTimeouts | cdktf.IResolvable): any;
export declare class NetworkServicesHttpRouteTimeoutsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): NetworkServicesHttpRouteTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: NetworkServicesHttpRouteTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route google_network_services_http_route}
*/
export declare class NetworkServicesHttpRoute extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_network_services_http_route";
    /**
    * Generates CDKTF code for importing a NetworkServicesHttpRoute resource upon running "cdktf plan <stack-name>"
    * @param scope The scope in which to define this construct
    * @param importToId The construct id used in the generated config for the NetworkServicesHttpRoute to import
    * @param importFromId The id of the existing NetworkServicesHttpRoute that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the NetworkServicesHttpRoute to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/network_services_http_route google_network_services_http_route} Resource
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options NetworkServicesHttpRouteConfig
    */
    constructor(scope: Construct, id: string, config: NetworkServicesHttpRouteConfig);
    get createTime(): string;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _effectiveLabels;
    get effectiveLabels(): cdktf.StringMap;
    private _gateways?;
    get gateways(): string[];
    set gateways(value: string[]);
    resetGateways(): void;
    get gatewaysInput(): string[] | undefined;
    private _hostnames?;
    get hostnames(): string[];
    set hostnames(value: string[]);
    get hostnamesInput(): string[] | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _meshes?;
    get meshes(): string[];
    set meshes(value: string[]);
    resetMeshes(): void;
    get meshesInput(): string[] | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    get selfLink(): string;
    private _terraformLabels;
    get terraformLabels(): cdktf.StringMap;
    get updateTime(): string;
    private _rules;
    get rules(): NetworkServicesHttpRouteRulesList;
    putRules(value: NetworkServicesHttpRouteRules[] | cdktf.IResolvable): void;
    get rulesInput(): cdktf.IResolvable | NetworkServicesHttpRouteRules[] | undefined;
    private _timeouts;
    get timeouts(): NetworkServicesHttpRouteTimeoutsOutputReference;
    putTimeouts(value: NetworkServicesHttpRouteTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | NetworkServicesHttpRouteTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
