/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface CloudRunServiceConfig extends cdktf.TerraformMetaArguments {
    /**
    * If set to 'true', the revision name (template.metadata.name) will be omitted and
    * autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name'
    * is also set.
    * (For legacy support, if 'template.metadata.name' is unset in state while
    * this field is set to false, the revision name will still autogenerate.)
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#autogenerate_revision_name CloudRunService#autogenerate_revision_name}
    */
    readonly autogenerateRevisionName?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#id CloudRunService#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;
    /**
    * The location of the cloud run instance. eg us-central1
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#location CloudRunService#location}
    */
    readonly location: string;
    /**
    * Name must be unique within a Google Cloud project and region.
    * Is required when creating resources. Name is primarily intended
    * for creation idempotence and configuration definition. Cannot be updated.
    * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#project CloudRunService#project}
    */
    readonly project?: string;
    /**
    * metadata block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#metadata CloudRunService#metadata}
    */
    readonly metadata?: CloudRunServiceMetadata;
    /**
    * template block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#template CloudRunService#template}
    */
    readonly template?: CloudRunServiceTemplate;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#timeouts CloudRunService#timeouts}
    */
    readonly timeouts?: CloudRunServiceTimeouts;
    /**
    * traffic block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#traffic CloudRunService#traffic}
    */
    readonly traffic?: CloudRunServiceTraffic[] | cdktf.IResolvable;
}
export interface CloudRunServiceStatusConditions {
}
export declare function cloudRunServiceStatusConditionsToTerraform(struct?: CloudRunServiceStatusConditions): any;
export declare function cloudRunServiceStatusConditionsToHclTerraform(struct?: CloudRunServiceStatusConditions): any;
export declare class CloudRunServiceStatusConditionsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): CloudRunServiceStatusConditions | undefined;
    set internalValue(value: CloudRunServiceStatusConditions | undefined);
    get message(): string;
    get reason(): string;
    get status(): string;
    get type(): string;
}
export declare class CloudRunServiceStatusConditionsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): CloudRunServiceStatusConditionsOutputReference;
}
export interface CloudRunServiceStatusTraffic {
}
export declare function cloudRunServiceStatusTrafficToTerraform(struct?: CloudRunServiceStatusTraffic): any;
export declare function cloudRunServiceStatusTrafficToHclTerraform(struct?: CloudRunServiceStatusTraffic): any;
export declare class CloudRunServiceStatusTrafficOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): CloudRunServiceStatusTraffic | undefined;
    set internalValue(value: CloudRunServiceStatusTraffic | undefined);
    get latestRevision(): cdktf.IResolvable;
    get percent(): number;
    get revisionName(): string;
    get tag(): string;
    get url(): string;
}
export declare class CloudRunServiceStatusTrafficList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): CloudRunServiceStatusTrafficOutputReference;
}
export interface CloudRunServiceStatus {
}
export declare function cloudRunServiceStatusToTerraform(struct?: CloudRunServiceStatus): any;
export declare function cloudRunServiceStatusToHclTerraform(struct?: CloudRunServiceStatus): any;
export declare class CloudRunServiceStatusOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): CloudRunServiceStatus | undefined;
    set internalValue(value: CloudRunServiceStatus | undefined);
    private _conditions;
    get conditions(): CloudRunServiceStatusConditionsList;
    get latestCreatedRevisionName(): string;
    get latestReadyRevisionName(): string;
    get observedGeneration(): number;
    private _traffic;
    get traffic(): CloudRunServiceStatusTrafficList;
    get url(): string;
}
export declare class CloudRunServiceStatusList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): CloudRunServiceStatusOutputReference;
}
export interface CloudRunServiceMetadata {
    /**
    * Annotations is a key value map stored with a resource that
    * may be set by external tools to store and retrieve arbitrary metadata.
    * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
    *
    * **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
    * If terraform plan shows a diff where a server-side annotation is added, you can add it to your config
    * or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
    *
    * Annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted. Use the following annotation
    * keys to configure features on a Service:
    *
    * - 'run.googleapis.com/binary-authorization-breakglass' sets the [Binary Authorization breakglass](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--breakglass).
    * - 'run.googleapis.com/binary-authorization' sets the [Binary Authorization](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--binary-authorization).
    * - 'run.googleapis.com/client-name' sets the client name calling the Cloud Run API.
    * - 'run.googleapis.com/custom-audiences' sets the [custom audiences](https://cloud.google.com/sdk/gcloud/reference/alpha/run/deploy#--add-custom-audiences)
    *   that can be used in the audience field of ID token for authenticated requests.
    * - 'run.googleapis.com/description' sets a user defined description for the Service.
    * - 'run.googleapis.com/ingress' sets the [ingress settings](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--ingress)
    *   for the Service. For example, '"run.googleapis.com/ingress" = "all"'.
    * - 'run.googleapis.com/launch-stage' sets the [launch stage](https://cloud.google.com/run/docs/troubleshooting#launch-stage-validation)
    *   when a preview feature is used. For example, '"run.googleapis.com/launch-stage": "BETA"'
    * - 'run.googleapis.com/minScale' sets the [minimum number of container instances](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--min) of the Service.
    * - 'run.googleapis.com/scalingMode' sets the type of scaling mode for the service. The supported values for scaling mode are "manual" and "automatic". If not provided, it defaults to "automatic".
    * - 'run.googleapis.com/manualInstanceCount' sets the total instance count for the service in manual scaling mode. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.
    *
    * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
    * Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#annotations CloudRunService#annotations}
    */
    readonly annotations?: {
        [key: string]: string;
    };
    /**
    * Map of string keys and values that can be used to organize and categorize
    * (scope and select) objects. May match selectors of replication controllers
    * and routes.
    *
    * **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.36.0/docs/resources/cloud_run_service#labels CloudRunService#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * In Cloud Run the namespace must be equal to either the
    * project ID or project number.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#namespace CloudRunService#namespace}
    */
    readonly namespace?: string;
}
export declare function cloudRunServiceMetadataToTerraform(struct?: CloudRunServiceMetadataOutputReference | CloudRunServiceMetadata): any;
export declare function cloudRunServiceMetadataToHclTerraform(struct?: CloudRunServiceMetadataOutputReference | CloudRunServiceMetadata): any;
export declare class CloudRunServiceMetadataOutputReference 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(): CloudRunServiceMetadata | undefined;
    set internalValue(value: CloudRunServiceMetadata | undefined);
    private _annotations?;
    get annotations(): {
        [key: string]: string;
    };
    set annotations(value: {
        [key: string]: string;
    });
    resetAnnotations(): void;
    get annotationsInput(): {
        [key: string]: string;
    } | undefined;
    private _effectiveAnnotations;
    get effectiveAnnotations(): cdktf.StringMap;
    private _effectiveLabels;
    get effectiveLabels(): cdktf.StringMap;
    get generation(): number;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    resetNamespace(): void;
    get namespaceInput(): string | undefined;
    get resourceVersion(): string;
    get selfLink(): string;
    private _terraformLabels;
    get terraformLabels(): cdktf.StringMap;
    get uid(): string;
}
export interface CloudRunServiceTemplateMetadata {
    /**
    * Annotations is a key value map stored with a resource that
    * may be set by external tools to store and retrieve arbitrary metadata.
    * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
    *
    * **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
    * If terraform plan shows a diff where a server-side annotation is added, you can add it to your config
    * or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
    *
    * Annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted. Use the following annotation
    * keys to configure features on a Revision template:
    *
    * - 'autoscaling.knative.dev/maxScale' sets the [maximum number of container
    *   instances](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--max-instances) of the Revision to run.
    * - 'autoscaling.knative.dev/minScale' sets the [minimum number of container
    *   instances](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--min-instances) of the Revision to run.
    * - 'run.googleapis.com/client-name' sets the client name calling the Cloud Run API.
    * - 'run.googleapis.com/cloudsql-instances' sets the [Cloud SQL
    *   instances](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--add-cloudsql-instances) the Revision connects to.
    * - 'run.googleapis.com/cpu-throttling' sets whether to throttle the CPU when the container is not actively serving
    *   requests. See https://cloud.google.com/sdk/gcloud/reference/run/deploy#--[no-]cpu-throttling.
    * - 'run.googleapis.com/encryption-key-shutdown-hours' sets the number of hours to wait before an automatic shutdown
    *   server after CMEK key revocation is detected.
    * - 'run.googleapis.com/encryption-key' sets the [CMEK key](https://cloud.google.com/run/docs/securing/using-cmek)
    *   reference to encrypt the container with.
    * - 'run.googleapis.com/execution-environment' sets the [execution
    *   environment](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--execution-environment)
    *   where the application will run.
    * - 'run.googleapis.com/post-key-revocation-action-type' sets the
    *   [action type](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--post-key-revocation-action-type)
    *   after CMEK key revocation.
    * - 'run.googleapis.com/secrets' sets a list of key-value pairs to set as
    *   [secrets](https://cloud.google.com/run/docs/configuring/secrets#yaml).
    * - 'run.googleapis.com/sessionAffinity' sets whether to enable
    *   [session affinity](https://cloud.google.com/sdk/gcloud/reference/beta/run/deploy#--[no-]session-affinity)
    *   for connections to the Revision.
    * - 'run.googleapis.com/startup-cpu-boost' sets whether to allocate extra CPU to containers on startup.
    *   See https://cloud.google.com/sdk/gcloud/reference/run/deploy#--[no-]cpu-boost.
    * - 'run.googleapis.com/network-interfaces' sets [Direct VPC egress](https://cloud.google.com/run/docs/configuring/vpc-direct-vpc#yaml)
    *   for the Revision.
    * - 'run.googleapis.com/vpc-access-connector' sets a [VPC connector](https://cloud.google.com/run/docs/configuring/connecting-vpc#terraform_1)
    *   for the Revision.
    * - 'run.googleapis.com/vpc-access-egress' sets the outbound traffic to send through the VPC connector for this resource.
    *   See https://cloud.google.com/sdk/gcloud/reference/run/deploy#--vpc-egress.
    * - 'run.googleapis.com/gpu-zonal-redundancy-disabled' sets
    *   [GPU zonal redundancy](https://cloud.google.com/run/docs/configuring/services/gpu-zonal-redundancy) for the Revision.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#annotations CloudRunService#annotations}
    */
    readonly annotations?: {
        [key: string]: string;
    };
    /**
    * Map of string keys and values that can be used to organize and categorize
    * (scope and select) objects.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#labels CloudRunService#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * Name must be unique within a Google Cloud project and region.
    * Is required when creating resources. Name is primarily intended
    * for creation idempotence and configuration definition. Cannot be updated.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name?: string;
    /**
    * In Cloud Run the namespace must be equal to either the
    * project ID or project number. It will default to the resource's project.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#namespace CloudRunService#namespace}
    */
    readonly namespace?: string;
}
export declare function cloudRunServiceTemplateMetadataToTerraform(struct?: CloudRunServiceTemplateMetadataOutputReference | CloudRunServiceTemplateMetadata): any;
export declare function cloudRunServiceTemplateMetadataToHclTerraform(struct?: CloudRunServiceTemplateMetadataOutputReference | CloudRunServiceTemplateMetadata): any;
export declare class CloudRunServiceTemplateMetadataOutputReference 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(): CloudRunServiceTemplateMetadata | undefined;
    set internalValue(value: CloudRunServiceTemplateMetadata | undefined);
    private _annotations?;
    get annotations(): {
        [key: string]: string;
    };
    set annotations(value: {
        [key: string]: string;
    });
    resetAnnotations(): void;
    get annotationsInput(): {
        [key: string]: string;
    } | undefined;
    get generation(): number;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    resetNamespace(): void;
    get namespaceInput(): string | undefined;
    get resourceVersion(): string;
    get selfLink(): string;
    get uid(): string;
}
export interface CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef {
    /**
    * A Cloud Secret Manager secret version. Must be 'latest' for the latest
    * version or an integer for a specific version.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#key CloudRunService#key}
    */
    readonly key: string;
    /**
    * The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project.
    * If the secret is in another project, you must define an alias.
    * An alias definition has the form:
    * {alias}:projects/{project-id|project-number}/secrets/{secret-name}.
    * If multiple alias definitions are needed, they must be separated by commas.
    * The alias definitions must be set on the run.googleapis.com/secrets annotation.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name: string;
}
export declare function cloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRefToTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRefOutputReference | CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef): any;
export declare function cloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRefToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRefOutputReference | CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef): any;
export declare class CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRefOutputReference 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(): CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef | undefined);
    private _key?;
    get key(): string;
    set key(value: string);
    get keyInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
}
export interface CloudRunServiceTemplateSpecContainersEnvValueFrom {
    /**
    * secret_key_ref block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#secret_key_ref CloudRunService#secret_key_ref}
    */
    readonly secretKeyRef: CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef;
}
export declare function cloudRunServiceTemplateSpecContainersEnvValueFromToTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvValueFromOutputReference | CloudRunServiceTemplateSpecContainersEnvValueFrom): any;
export declare function cloudRunServiceTemplateSpecContainersEnvValueFromToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvValueFromOutputReference | CloudRunServiceTemplateSpecContainersEnvValueFrom): any;
export declare class CloudRunServiceTemplateSpecContainersEnvValueFromOutputReference 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(): CloudRunServiceTemplateSpecContainersEnvValueFrom | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersEnvValueFrom | undefined);
    private _secretKeyRef;
    get secretKeyRef(): CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRefOutputReference;
    putSecretKeyRef(value: CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef): void;
    get secretKeyRefInput(): CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef | undefined;
}
export interface CloudRunServiceTemplateSpecContainersEnv {
    /**
    * Name of the environment variable.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name?: string;
    /**
    * Defaults to "".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#value CloudRunService#value}
    */
    readonly value?: string;
    /**
    * value_from block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#value_from CloudRunService#value_from}
    */
    readonly valueFrom?: CloudRunServiceTemplateSpecContainersEnvValueFrom;
}
export declare function cloudRunServiceTemplateSpecContainersEnvToTerraform(struct?: CloudRunServiceTemplateSpecContainersEnv | cdktf.IResolvable): any;
export declare function cloudRunServiceTemplateSpecContainersEnvToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersEnv | cdktf.IResolvable): any;
export declare class CloudRunServiceTemplateSpecContainersEnvOutputReference 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(): CloudRunServiceTemplateSpecContainersEnv | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersEnv | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
    private _valueFrom;
    get valueFrom(): CloudRunServiceTemplateSpecContainersEnvValueFromOutputReference;
    putValueFrom(value: CloudRunServiceTemplateSpecContainersEnvValueFrom): void;
    resetValueFrom(): void;
    get valueFromInput(): CloudRunServiceTemplateSpecContainersEnvValueFrom | undefined;
}
export declare class CloudRunServiceTemplateSpecContainersEnvList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTemplateSpecContainersEnv[] | 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): CloudRunServiceTemplateSpecContainersEnvOutputReference;
}
export interface CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference {
    /**
    * Name of the referent.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name: string;
}
export declare function cloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReferenceToTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReferenceOutputReference | CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference): any;
export declare function cloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReferenceToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReferenceOutputReference | CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference): any;
export declare class CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReferenceOutputReference 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(): CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
}
export interface CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef {
    /**
    * Specify whether the ConfigMap must be defined
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#optional CloudRunService#optional}
    */
    readonly optional?: boolean | cdktf.IResolvable;
    /**
    * local_object_reference block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#local_object_reference CloudRunService#local_object_reference}
    */
    readonly localObjectReference?: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference;
}
export declare function cloudRunServiceTemplateSpecContainersEnvFromConfigMapRefToTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefOutputReference | CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef): any;
export declare function cloudRunServiceTemplateSpecContainersEnvFromConfigMapRefToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefOutputReference | CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef): any;
export declare class CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefOutputReference 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(): CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef | undefined);
    private _optional?;
    get optional(): boolean | cdktf.IResolvable;
    set optional(value: boolean | cdktf.IResolvable);
    resetOptional(): void;
    get optionalInput(): boolean | cdktf.IResolvable | undefined;
    private _localObjectReference;
    get localObjectReference(): CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReferenceOutputReference;
    putLocalObjectReference(value: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference): void;
    resetLocalObjectReference(): void;
    get localObjectReferenceInput(): CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference | undefined;
}
export interface CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference {
    /**
    * Name of the referent.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name: string;
}
export declare function cloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReferenceToTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReferenceOutputReference | CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference): any;
export declare function cloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReferenceToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReferenceOutputReference | CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference): any;
export declare class CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReferenceOutputReference 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(): CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
}
export interface CloudRunServiceTemplateSpecContainersEnvFromSecretRef {
    /**
    * Specify whether the Secret must be defined
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#optional CloudRunService#optional}
    */
    readonly optional?: boolean | cdktf.IResolvable;
    /**
    * local_object_reference block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#local_object_reference CloudRunService#local_object_reference}
    */
    readonly localObjectReference?: CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference;
}
export declare function cloudRunServiceTemplateSpecContainersEnvFromSecretRefToTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFromSecretRefOutputReference | CloudRunServiceTemplateSpecContainersEnvFromSecretRef): any;
export declare function cloudRunServiceTemplateSpecContainersEnvFromSecretRefToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFromSecretRefOutputReference | CloudRunServiceTemplateSpecContainersEnvFromSecretRef): any;
export declare class CloudRunServiceTemplateSpecContainersEnvFromSecretRefOutputReference 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(): CloudRunServiceTemplateSpecContainersEnvFromSecretRef | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersEnvFromSecretRef | undefined);
    private _optional?;
    get optional(): boolean | cdktf.IResolvable;
    set optional(value: boolean | cdktf.IResolvable);
    resetOptional(): void;
    get optionalInput(): boolean | cdktf.IResolvable | undefined;
    private _localObjectReference;
    get localObjectReference(): CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReferenceOutputReference;
    putLocalObjectReference(value: CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference): void;
    resetLocalObjectReference(): void;
    get localObjectReferenceInput(): CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference | undefined;
}
export interface CloudRunServiceTemplateSpecContainersEnvFrom {
    /**
    * An optional identifier to prepend to each key in the ConfigMap.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#prefix CloudRunService#prefix}
    */
    readonly prefix?: string;
    /**
    * config_map_ref block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#config_map_ref CloudRunService#config_map_ref}
    */
    readonly configMapRef?: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef;
    /**
    * secret_ref block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#secret_ref CloudRunService#secret_ref}
    */
    readonly secretRef?: CloudRunServiceTemplateSpecContainersEnvFromSecretRef;
}
export declare function cloudRunServiceTemplateSpecContainersEnvFromToTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFrom | cdktf.IResolvable): any;
export declare function cloudRunServiceTemplateSpecContainersEnvFromToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersEnvFrom | cdktf.IResolvable): any;
export declare class CloudRunServiceTemplateSpecContainersEnvFromOutputReference 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(): CloudRunServiceTemplateSpecContainersEnvFrom | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersEnvFrom | cdktf.IResolvable | undefined);
    private _prefix?;
    get prefix(): string;
    set prefix(value: string);
    resetPrefix(): void;
    get prefixInput(): string | undefined;
    private _configMapRef;
    get configMapRef(): CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefOutputReference;
    putConfigMapRef(value: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef): void;
    resetConfigMapRef(): void;
    get configMapRefInput(): CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef | undefined;
    private _secretRef;
    get secretRef(): CloudRunServiceTemplateSpecContainersEnvFromSecretRefOutputReference;
    putSecretRef(value: CloudRunServiceTemplateSpecContainersEnvFromSecretRef): void;
    resetSecretRef(): void;
    get secretRefInput(): CloudRunServiceTemplateSpecContainersEnvFromSecretRef | undefined;
}
export declare class CloudRunServiceTemplateSpecContainersEnvFromList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTemplateSpecContainersEnvFrom[] | 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): CloudRunServiceTemplateSpecContainersEnvFromOutputReference;
}
export interface CloudRunServiceTemplateSpecContainersLivenessProbeGrpc {
    /**
    * Port number to access on the container. Number must be in the range 1 to 65535.
    * If not specified, defaults to the same value as container.ports[0].containerPort.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#port CloudRunService#port}
    */
    readonly port?: number;
    /**
    * The name of the service to place in the gRPC HealthCheckRequest
    * (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
    * If this is not specified, the default behavior is defined by gRPC.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#service CloudRunService#service}
    */
    readonly service?: string;
}
export declare function cloudRunServiceTemplateSpecContainersLivenessProbeGrpcToTerraform(struct?: CloudRunServiceTemplateSpecContainersLivenessProbeGrpcOutputReference | CloudRunServiceTemplateSpecContainersLivenessProbeGrpc): any;
export declare function cloudRunServiceTemplateSpecContainersLivenessProbeGrpcToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersLivenessProbeGrpcOutputReference | CloudRunServiceTemplateSpecContainersLivenessProbeGrpc): any;
export declare class CloudRunServiceTemplateSpecContainersLivenessProbeGrpcOutputReference 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(): CloudRunServiceTemplateSpecContainersLivenessProbeGrpc | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersLivenessProbeGrpc | undefined);
    private _port?;
    get port(): number;
    set port(value: number);
    resetPort(): void;
    get portInput(): number | undefined;
    private _service?;
    get service(): string;
    set service(value: string);
    resetService(): void;
    get serviceInput(): string | undefined;
}
export interface CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeaders {
    /**
    * The header field name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name: string;
    /**
    * The header field value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#value CloudRunService#value}
    */
    readonly value?: string;
}
export declare function cloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeadersToTerraform(struct?: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeaders | cdktf.IResolvable): any;
export declare function cloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeadersToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeaders | cdktf.IResolvable): any;
export declare class CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeadersOutputReference 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(): CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeaders | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeaders | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
}
export declare class CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeadersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeaders[] | 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): CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeadersOutputReference;
}
export interface CloudRunServiceTemplateSpecContainersLivenessProbeHttpGet {
    /**
    * Path to access on the HTTP server. If set, it should not be empty string.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#path CloudRunService#path}
    */
    readonly path?: string;
    /**
    * Port number to access on the container. Number must be in the range 1 to 65535.
    * If not specified, defaults to the same value as container.ports[0].containerPort.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#port CloudRunService#port}
    */
    readonly port?: number;
    /**
    * http_headers block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#http_headers CloudRunService#http_headers}
    */
    readonly httpHeaders?: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeaders[] | cdktf.IResolvable;
}
export declare function cloudRunServiceTemplateSpecContainersLivenessProbeHttpGetToTerraform(struct?: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetOutputReference | CloudRunServiceTemplateSpecContainersLivenessProbeHttpGet): any;
export declare function cloudRunServiceTemplateSpecContainersLivenessProbeHttpGetToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetOutputReference | CloudRunServiceTemplateSpecContainersLivenessProbeHttpGet): any;
export declare class CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetOutputReference 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(): CloudRunServiceTemplateSpecContainersLivenessProbeHttpGet | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGet | undefined);
    private _path?;
    get path(): string;
    set path(value: string);
    resetPath(): void;
    get pathInput(): string | undefined;
    private _port?;
    get port(): number;
    set port(value: number);
    resetPort(): void;
    get portInput(): number | undefined;
    private _httpHeaders;
    get httpHeaders(): CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeadersList;
    putHttpHeaders(value: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeaders[] | cdktf.IResolvable): void;
    resetHttpHeaders(): void;
    get httpHeadersInput(): cdktf.IResolvable | CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetHttpHeaders[] | undefined;
}
export interface CloudRunServiceTemplateSpecContainersLivenessProbe {
    /**
    * Minimum consecutive failures for the probe to be considered failed after
    * having succeeded. Defaults to 3. Minimum value is 1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#failure_threshold CloudRunService#failure_threshold}
    */
    readonly failureThreshold?: number;
    /**
    * Number of seconds after the container has started before the probe is
    * initiated.
    * Defaults to 0 seconds. Minimum value is 0. Maximum value is 3600.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#initial_delay_seconds CloudRunService#initial_delay_seconds}
    */
    readonly initialDelaySeconds?: number;
    /**
    * How often (in seconds) to perform the probe.
    * Default to 10 seconds. Minimum value is 1. Maximum value is 3600.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#period_seconds CloudRunService#period_seconds}
    */
    readonly periodSeconds?: number;
    /**
    * Number of seconds after which the probe times out.
    * Defaults to 1 second. Minimum value is 1. Maximum value is 3600.
    * Must be smaller than period_seconds.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#timeout_seconds CloudRunService#timeout_seconds}
    */
    readonly timeoutSeconds?: number;
    /**
    * grpc block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#grpc CloudRunService#grpc}
    */
    readonly grpc?: CloudRunServiceTemplateSpecContainersLivenessProbeGrpc;
    /**
    * http_get block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#http_get CloudRunService#http_get}
    */
    readonly httpGet?: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGet;
}
export declare function cloudRunServiceTemplateSpecContainersLivenessProbeToTerraform(struct?: CloudRunServiceTemplateSpecContainersLivenessProbeOutputReference | CloudRunServiceTemplateSpecContainersLivenessProbe): any;
export declare function cloudRunServiceTemplateSpecContainersLivenessProbeToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersLivenessProbeOutputReference | CloudRunServiceTemplateSpecContainersLivenessProbe): any;
export declare class CloudRunServiceTemplateSpecContainersLivenessProbeOutputReference 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(): CloudRunServiceTemplateSpecContainersLivenessProbe | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersLivenessProbe | undefined);
    private _failureThreshold?;
    get failureThreshold(): number;
    set failureThreshold(value: number);
    resetFailureThreshold(): void;
    get failureThresholdInput(): number | undefined;
    private _initialDelaySeconds?;
    get initialDelaySeconds(): number;
    set initialDelaySeconds(value: number);
    resetInitialDelaySeconds(): void;
    get initialDelaySecondsInput(): number | undefined;
    private _periodSeconds?;
    get periodSeconds(): number;
    set periodSeconds(value: number);
    resetPeriodSeconds(): void;
    get periodSecondsInput(): number | undefined;
    private _timeoutSeconds?;
    get timeoutSeconds(): number;
    set timeoutSeconds(value: number);
    resetTimeoutSeconds(): void;
    get timeoutSecondsInput(): number | undefined;
    private _grpc;
    get grpc(): CloudRunServiceTemplateSpecContainersLivenessProbeGrpcOutputReference;
    putGrpc(value: CloudRunServiceTemplateSpecContainersLivenessProbeGrpc): void;
    resetGrpc(): void;
    get grpcInput(): CloudRunServiceTemplateSpecContainersLivenessProbeGrpc | undefined;
    private _httpGet;
    get httpGet(): CloudRunServiceTemplateSpecContainersLivenessProbeHttpGetOutputReference;
    putHttpGet(value: CloudRunServiceTemplateSpecContainersLivenessProbeHttpGet): void;
    resetHttpGet(): void;
    get httpGetInput(): CloudRunServiceTemplateSpecContainersLivenessProbeHttpGet | undefined;
}
export interface CloudRunServiceTemplateSpecContainersPorts {
    /**
    * Port number the container listens on. This must be a valid port number (between 1 and 65535). Defaults to "8080".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#container_port CloudRunService#container_port}
    */
    readonly containerPort?: number;
    /**
    * If specified, used to specify which protocol to use. Allowed values are "http1" (HTTP/1) and "h2c" (HTTP/2 end-to-end). Defaults to "http1".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name?: string;
    /**
    * Protocol for port. Must be "TCP". Defaults to "TCP".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#protocol CloudRunService#protocol}
    */
    readonly protocol?: string;
}
export declare function cloudRunServiceTemplateSpecContainersPortsToTerraform(struct?: CloudRunServiceTemplateSpecContainersPorts | cdktf.IResolvable): any;
export declare function cloudRunServiceTemplateSpecContainersPortsToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersPorts | cdktf.IResolvable): any;
export declare class CloudRunServiceTemplateSpecContainersPortsOutputReference 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(): CloudRunServiceTemplateSpecContainersPorts | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersPorts | cdktf.IResolvable | undefined);
    private _containerPort?;
    get containerPort(): number;
    set containerPort(value: number);
    resetContainerPort(): void;
    get containerPortInput(): number | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _protocol?;
    get protocol(): string;
    set protocol(value: string);
    resetProtocol(): void;
    get protocolInput(): string | undefined;
}
export declare class CloudRunServiceTemplateSpecContainersPortsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTemplateSpecContainersPorts[] | 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): CloudRunServiceTemplateSpecContainersPortsOutputReference;
}
export interface CloudRunServiceTemplateSpecContainersResources {
    /**
    * Limits describes the maximum amount of compute resources allowed.
    * The values of the map is string form of the 'quantity' k8s type:
    * https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#limits CloudRunService#limits}
    */
    readonly limits?: {
        [key: string]: string;
    };
    /**
    * Requests describes the minimum amount of compute resources required.
    * If Requests is omitted for a container, it defaults to Limits if that is
    * explicitly specified, otherwise to an implementation-defined value.
    * The values of the map is string form of the 'quantity' k8s type:
    * https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#requests CloudRunService#requests}
    */
    readonly requests?: {
        [key: string]: string;
    };
}
export declare function cloudRunServiceTemplateSpecContainersResourcesToTerraform(struct?: CloudRunServiceTemplateSpecContainersResourcesOutputReference | CloudRunServiceTemplateSpecContainersResources): any;
export declare function cloudRunServiceTemplateSpecContainersResourcesToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersResourcesOutputReference | CloudRunServiceTemplateSpecContainersResources): any;
export declare class CloudRunServiceTemplateSpecContainersResourcesOutputReference 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(): CloudRunServiceTemplateSpecContainersResources | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersResources | undefined);
    private _limits?;
    get limits(): {
        [key: string]: string;
    };
    set limits(value: {
        [key: string]: string;
    });
    resetLimits(): void;
    get limitsInput(): {
        [key: string]: string;
    } | undefined;
    private _requests?;
    get requests(): {
        [key: string]: string;
    };
    set requests(value: {
        [key: string]: string;
    });
    resetRequests(): void;
    get requestsInput(): {
        [key: string]: string;
    } | undefined;
}
export interface CloudRunServiceTemplateSpecContainersStartupProbeGrpc {
    /**
    * Port number to access on the container. Number must be in the range 1 to 65535.
    * If not specified, defaults to the same value as container.ports[0].containerPort.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#port CloudRunService#port}
    */
    readonly port?: number;
    /**
    * The name of the service to place in the gRPC HealthCheckRequest
    * (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
    * If this is not specified, the default behavior is defined by gRPC.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#service CloudRunService#service}
    */
    readonly service?: string;
}
export declare function cloudRunServiceTemplateSpecContainersStartupProbeGrpcToTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeGrpcOutputReference | CloudRunServiceTemplateSpecContainersStartupProbeGrpc): any;
export declare function cloudRunServiceTemplateSpecContainersStartupProbeGrpcToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeGrpcOutputReference | CloudRunServiceTemplateSpecContainersStartupProbeGrpc): any;
export declare class CloudRunServiceTemplateSpecContainersStartupProbeGrpcOutputReference 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(): CloudRunServiceTemplateSpecContainersStartupProbeGrpc | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersStartupProbeGrpc | undefined);
    private _port?;
    get port(): number;
    set port(value: number);
    resetPort(): void;
    get portInput(): number | undefined;
    private _service?;
    get service(): string;
    set service(value: string);
    resetService(): void;
    get serviceInput(): string | undefined;
}
export interface CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeaders {
    /**
    * The header field name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name: string;
    /**
    * The header field value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#value CloudRunService#value}
    */
    readonly value?: string;
}
export declare function cloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeadersToTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeaders | cdktf.IResolvable): any;
export declare function cloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeadersToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeaders | cdktf.IResolvable): any;
export declare class CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeadersOutputReference 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(): CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeaders | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeaders | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
}
export declare class CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeadersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeaders[] | 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): CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeadersOutputReference;
}
export interface CloudRunServiceTemplateSpecContainersStartupProbeHttpGet {
    /**
    * Path to access on the HTTP server. If set, it should not be empty string.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#path CloudRunService#path}
    */
    readonly path?: string;
    /**
    * Port number to access on the container. Number must be in the range 1 to 65535.
    * If not specified, defaults to the same value as container.ports[0].containerPort.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#port CloudRunService#port}
    */
    readonly port?: number;
    /**
    * http_headers block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#http_headers CloudRunService#http_headers}
    */
    readonly httpHeaders?: CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeaders[] | cdktf.IResolvable;
}
export declare function cloudRunServiceTemplateSpecContainersStartupProbeHttpGetToTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeHttpGetOutputReference | CloudRunServiceTemplateSpecContainersStartupProbeHttpGet): any;
export declare function cloudRunServiceTemplateSpecContainersStartupProbeHttpGetToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeHttpGetOutputReference | CloudRunServiceTemplateSpecContainersStartupProbeHttpGet): any;
export declare class CloudRunServiceTemplateSpecContainersStartupProbeHttpGetOutputReference 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(): CloudRunServiceTemplateSpecContainersStartupProbeHttpGet | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersStartupProbeHttpGet | undefined);
    private _path?;
    get path(): string;
    set path(value: string);
    resetPath(): void;
    get pathInput(): string | undefined;
    private _port?;
    get port(): number;
    set port(value: number);
    resetPort(): void;
    get portInput(): number | undefined;
    private _httpHeaders;
    get httpHeaders(): CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeadersList;
    putHttpHeaders(value: CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeaders[] | cdktf.IResolvable): void;
    resetHttpHeaders(): void;
    get httpHeadersInput(): cdktf.IResolvable | CloudRunServiceTemplateSpecContainersStartupProbeHttpGetHttpHeaders[] | undefined;
}
export interface CloudRunServiceTemplateSpecContainersStartupProbeTcpSocket {
    /**
    * Port number to access on the container. Number must be in the range 1 to 65535.
    * If not specified, defaults to the same value as container.ports[0].containerPort.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#port CloudRunService#port}
    */
    readonly port?: number;
}
export declare function cloudRunServiceTemplateSpecContainersStartupProbeTcpSocketToTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeTcpSocketOutputReference | CloudRunServiceTemplateSpecContainersStartupProbeTcpSocket): any;
export declare function cloudRunServiceTemplateSpecContainersStartupProbeTcpSocketToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeTcpSocketOutputReference | CloudRunServiceTemplateSpecContainersStartupProbeTcpSocket): any;
export declare class CloudRunServiceTemplateSpecContainersStartupProbeTcpSocketOutputReference 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(): CloudRunServiceTemplateSpecContainersStartupProbeTcpSocket | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersStartupProbeTcpSocket | undefined);
    private _port?;
    get port(): number;
    set port(value: number);
    resetPort(): void;
    get portInput(): number | undefined;
}
export interface CloudRunServiceTemplateSpecContainersStartupProbe {
    /**
    * Minimum consecutive failures for the probe to be considered failed after
    * having succeeded. Defaults to 3. Minimum value is 1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#failure_threshold CloudRunService#failure_threshold}
    */
    readonly failureThreshold?: number;
    /**
    * Number of seconds after the container has started before the probe is
    * initiated.
    * Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#initial_delay_seconds CloudRunService#initial_delay_seconds}
    */
    readonly initialDelaySeconds?: number;
    /**
    * How often (in seconds) to perform the probe.
    * Default to 10 seconds. Minimum value is 1. Maximum value is 240.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#period_seconds CloudRunService#period_seconds}
    */
    readonly periodSeconds?: number;
    /**
    * Number of seconds after which the probe times out.
    * Defaults to 1 second. Minimum value is 1. Maximum value is 3600.
    * Must be smaller than periodSeconds.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#timeout_seconds CloudRunService#timeout_seconds}
    */
    readonly timeoutSeconds?: number;
    /**
    * grpc block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#grpc CloudRunService#grpc}
    */
    readonly grpc?: CloudRunServiceTemplateSpecContainersStartupProbeGrpc;
    /**
    * http_get block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#http_get CloudRunService#http_get}
    */
    readonly httpGet?: CloudRunServiceTemplateSpecContainersStartupProbeHttpGet;
    /**
    * tcp_socket block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#tcp_socket CloudRunService#tcp_socket}
    */
    readonly tcpSocket?: CloudRunServiceTemplateSpecContainersStartupProbeTcpSocket;
}
export declare function cloudRunServiceTemplateSpecContainersStartupProbeToTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeOutputReference | CloudRunServiceTemplateSpecContainersStartupProbe): any;
export declare function cloudRunServiceTemplateSpecContainersStartupProbeToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersStartupProbeOutputReference | CloudRunServiceTemplateSpecContainersStartupProbe): any;
export declare class CloudRunServiceTemplateSpecContainersStartupProbeOutputReference 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(): CloudRunServiceTemplateSpecContainersStartupProbe | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersStartupProbe | undefined);
    private _failureThreshold?;
    get failureThreshold(): number;
    set failureThreshold(value: number);
    resetFailureThreshold(): void;
    get failureThresholdInput(): number | undefined;
    private _initialDelaySeconds?;
    get initialDelaySeconds(): number;
    set initialDelaySeconds(value: number);
    resetInitialDelaySeconds(): void;
    get initialDelaySecondsInput(): number | undefined;
    private _periodSeconds?;
    get periodSeconds(): number;
    set periodSeconds(value: number);
    resetPeriodSeconds(): void;
    get periodSecondsInput(): number | undefined;
    private _timeoutSeconds?;
    get timeoutSeconds(): number;
    set timeoutSeconds(value: number);
    resetTimeoutSeconds(): void;
    get timeoutSecondsInput(): number | undefined;
    private _grpc;
    get grpc(): CloudRunServiceTemplateSpecContainersStartupProbeGrpcOutputReference;
    putGrpc(value: CloudRunServiceTemplateSpecContainersStartupProbeGrpc): void;
    resetGrpc(): void;
    get grpcInput(): CloudRunServiceTemplateSpecContainersStartupProbeGrpc | undefined;
    private _httpGet;
    get httpGet(): CloudRunServiceTemplateSpecContainersStartupProbeHttpGetOutputReference;
    putHttpGet(value: CloudRunServiceTemplateSpecContainersStartupProbeHttpGet): void;
    resetHttpGet(): void;
    get httpGetInput(): CloudRunServiceTemplateSpecContainersStartupProbeHttpGet | undefined;
    private _tcpSocket;
    get tcpSocket(): CloudRunServiceTemplateSpecContainersStartupProbeTcpSocketOutputReference;
    putTcpSocket(value: CloudRunServiceTemplateSpecContainersStartupProbeTcpSocket): void;
    resetTcpSocket(): void;
    get tcpSocketInput(): CloudRunServiceTemplateSpecContainersStartupProbeTcpSocket | undefined;
}
export interface CloudRunServiceTemplateSpecContainersVolumeMounts {
    /**
    * Path within the container at which the volume should be mounted.  Must
    * not contain ':'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#mount_path CloudRunService#mount_path}
    */
    readonly mountPath: string;
    /**
    * This must match the Name of a Volume.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name: string;
}
export declare function cloudRunServiceTemplateSpecContainersVolumeMountsToTerraform(struct?: CloudRunServiceTemplateSpecContainersVolumeMounts | cdktf.IResolvable): any;
export declare function cloudRunServiceTemplateSpecContainersVolumeMountsToHclTerraform(struct?: CloudRunServiceTemplateSpecContainersVolumeMounts | cdktf.IResolvable): any;
export declare class CloudRunServiceTemplateSpecContainersVolumeMountsOutputReference 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(): CloudRunServiceTemplateSpecContainersVolumeMounts | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainersVolumeMounts | cdktf.IResolvable | undefined);
    private _mountPath?;
    get mountPath(): string;
    set mountPath(value: string);
    get mountPathInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
}
export declare class CloudRunServiceTemplateSpecContainersVolumeMountsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTemplateSpecContainersVolumeMounts[] | 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): CloudRunServiceTemplateSpecContainersVolumeMountsOutputReference;
}
export interface CloudRunServiceTemplateSpecContainers {
    /**
    * Arguments to the entrypoint.
    * The docker image's CMD is used if this is not provided.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#args CloudRunService#args}
    */
    readonly args?: string[];
    /**
    * Entrypoint array. Not executed within a shell.
    * The docker image's ENTRYPOINT is used if this is not provided.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#command CloudRunService#command}
    */
    readonly command?: string[];
    /**
    * Docker image name. This is most often a reference to a container located
    * in the container registry, such as gcr.io/cloudrun/hello
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#image CloudRunService#image}
    */
    readonly image: string;
    /**
    * Name of the container
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name?: string;
    /**
    * Container's working directory.
    * If not specified, the container runtime's default will be used, which
    * might be configured in the container image.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#working_dir CloudRunService#working_dir}
    */
    readonly workingDir?: string;
    /**
    * env block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#env CloudRunService#env}
    */
    readonly env?: CloudRunServiceTemplateSpecContainersEnv[] | cdktf.IResolvable;
    /**
    * env_from block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#env_from CloudRunService#env_from}
    */
    readonly envFrom?: CloudRunServiceTemplateSpecContainersEnvFrom[] | cdktf.IResolvable;
    /**
    * liveness_probe block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#liveness_probe CloudRunService#liveness_probe}
    */
    readonly livenessProbe?: CloudRunServiceTemplateSpecContainersLivenessProbe;
    /**
    * ports block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#ports CloudRunService#ports}
    */
    readonly ports?: CloudRunServiceTemplateSpecContainersPorts[] | cdktf.IResolvable;
    /**
    * resources block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#resources CloudRunService#resources}
    */
    readonly resources?: CloudRunServiceTemplateSpecContainersResources;
    /**
    * startup_probe block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#startup_probe CloudRunService#startup_probe}
    */
    readonly startupProbe?: CloudRunServiceTemplateSpecContainersStartupProbe;
    /**
    * volume_mounts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#volume_mounts CloudRunService#volume_mounts}
    */
    readonly volumeMounts?: CloudRunServiceTemplateSpecContainersVolumeMounts[] | cdktf.IResolvable;
}
export declare function cloudRunServiceTemplateSpecContainersToTerraform(struct?: CloudRunServiceTemplateSpecContainers | cdktf.IResolvable): any;
export declare function cloudRunServiceTemplateSpecContainersToHclTerraform(struct?: CloudRunServiceTemplateSpecContainers | cdktf.IResolvable): any;
export declare class CloudRunServiceTemplateSpecContainersOutputReference 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(): CloudRunServiceTemplateSpecContainers | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecContainers | cdktf.IResolvable | undefined);
    private _args?;
    get args(): string[];
    set args(value: string[]);
    resetArgs(): void;
    get argsInput(): string[] | undefined;
    private _command?;
    get command(): string[];
    set command(value: string[]);
    resetCommand(): void;
    get commandInput(): string[] | undefined;
    private _image?;
    get image(): string;
    set image(value: string);
    get imageInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _workingDir?;
    get workingDir(): string;
    set workingDir(value: string);
    resetWorkingDir(): void;
    get workingDirInput(): string | undefined;
    private _env;
    get env(): CloudRunServiceTemplateSpecContainersEnvList;
    putEnv(value: CloudRunServiceTemplateSpecContainersEnv[] | cdktf.IResolvable): void;
    resetEnv(): void;
    get envInput(): cdktf.IResolvable | CloudRunServiceTemplateSpecContainersEnv[] | undefined;
    private _envFrom;
    get envFrom(): CloudRunServiceTemplateSpecContainersEnvFromList;
    putEnvFrom(value: CloudRunServiceTemplateSpecContainersEnvFrom[] | cdktf.IResolvable): void;
    resetEnvFrom(): void;
    get envFromInput(): cdktf.IResolvable | CloudRunServiceTemplateSpecContainersEnvFrom[] | undefined;
    private _livenessProbe;
    get livenessProbe(): CloudRunServiceTemplateSpecContainersLivenessProbeOutputReference;
    putLivenessProbe(value: CloudRunServiceTemplateSpecContainersLivenessProbe): void;
    resetLivenessProbe(): void;
    get livenessProbeInput(): CloudRunServiceTemplateSpecContainersLivenessProbe | undefined;
    private _ports;
    get ports(): CloudRunServiceTemplateSpecContainersPortsList;
    putPorts(value: CloudRunServiceTemplateSpecContainersPorts[] | cdktf.IResolvable): void;
    resetPorts(): void;
    get portsInput(): cdktf.IResolvable | CloudRunServiceTemplateSpecContainersPorts[] | undefined;
    private _resources;
    get resources(): CloudRunServiceTemplateSpecContainersResourcesOutputReference;
    putResources(value: CloudRunServiceTemplateSpecContainersResources): void;
    resetResources(): void;
    get resourcesInput(): CloudRunServiceTemplateSpecContainersResources | undefined;
    private _startupProbe;
    get startupProbe(): CloudRunServiceTemplateSpecContainersStartupProbeOutputReference;
    putStartupProbe(value: CloudRunServiceTemplateSpecContainersStartupProbe): void;
    resetStartupProbe(): void;
    get startupProbeInput(): CloudRunServiceTemplateSpecContainersStartupProbe | undefined;
    private _volumeMounts;
    get volumeMounts(): CloudRunServiceTemplateSpecContainersVolumeMountsList;
    putVolumeMounts(value: CloudRunServiceTemplateSpecContainersVolumeMounts[] | cdktf.IResolvable): void;
    resetVolumeMounts(): void;
    get volumeMountsInput(): cdktf.IResolvable | CloudRunServiceTemplateSpecContainersVolumeMounts[] | undefined;
}
export declare class CloudRunServiceTemplateSpecContainersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTemplateSpecContainers[] | 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): CloudRunServiceTemplateSpecContainersOutputReference;
}
export interface CloudRunServiceTemplateSpecVolumesCsi {
    /**
    * Unique name representing the type of file system to be created. Cloud Run supports the following values:
    *   * gcsfuse.run.googleapis.com: Mount a Google Cloud Storage bucket using GCSFuse. This driver requires the
    *     run.googleapis.com/execution-environment annotation to be unset or set to "gen2"
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#driver CloudRunService#driver}
    */
    readonly driver: string;
    /**
    * If true, all mounts created from this volume will be read-only.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#read_only CloudRunService#read_only}
    */
    readonly readOnly?: boolean | cdktf.IResolvable;
    /**
    * Driver-specific attributes. The following options are supported for available drivers:
    *   * gcsfuse.run.googleapis.com
    *     * bucketName: The name of the Cloud Storage Bucket that backs this volume. The Cloud Run Service identity must have access to this bucket.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#volume_attributes CloudRunService#volume_attributes}
    */
    readonly volumeAttributes?: {
        [key: string]: string;
    };
}
export declare function cloudRunServiceTemplateSpecVolumesCsiToTerraform(struct?: CloudRunServiceTemplateSpecVolumesCsiOutputReference | CloudRunServiceTemplateSpecVolumesCsi): any;
export declare function cloudRunServiceTemplateSpecVolumesCsiToHclTerraform(struct?: CloudRunServiceTemplateSpecVolumesCsiOutputReference | CloudRunServiceTemplateSpecVolumesCsi): any;
export declare class CloudRunServiceTemplateSpecVolumesCsiOutputReference 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(): CloudRunServiceTemplateSpecVolumesCsi | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecVolumesCsi | undefined);
    private _driver?;
    get driver(): string;
    set driver(value: string);
    get driverInput(): string | undefined;
    private _readOnly?;
    get readOnly(): boolean | cdktf.IResolvable;
    set readOnly(value: boolean | cdktf.IResolvable);
    resetReadOnly(): void;
    get readOnlyInput(): boolean | cdktf.IResolvable | undefined;
    private _volumeAttributes?;
    get volumeAttributes(): {
        [key: string]: string;
    };
    set volumeAttributes(value: {
        [key: string]: string;
    });
    resetVolumeAttributes(): void;
    get volumeAttributesInput(): {
        [key: string]: string;
    } | undefined;
}
export interface CloudRunServiceTemplateSpecVolumesEmptyDir {
    /**
    * The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#medium CloudRunService#medium}
    */
    readonly medium?: string;
    /**
    * Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. This field's values are of the 'Quantity' k8s type: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#size_limit CloudRunService#size_limit}
    */
    readonly sizeLimit?: string;
}
export declare function cloudRunServiceTemplateSpecVolumesEmptyDirToTerraform(struct?: CloudRunServiceTemplateSpecVolumesEmptyDirOutputReference | CloudRunServiceTemplateSpecVolumesEmptyDir): any;
export declare function cloudRunServiceTemplateSpecVolumesEmptyDirToHclTerraform(struct?: CloudRunServiceTemplateSpecVolumesEmptyDirOutputReference | CloudRunServiceTemplateSpecVolumesEmptyDir): any;
export declare class CloudRunServiceTemplateSpecVolumesEmptyDirOutputReference 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(): CloudRunServiceTemplateSpecVolumesEmptyDir | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecVolumesEmptyDir | undefined);
    private _medium?;
    get medium(): string;
    set medium(value: string);
    resetMedium(): void;
    get mediumInput(): string | undefined;
    private _sizeLimit?;
    get sizeLimit(): string;
    set sizeLimit(value: string);
    resetSizeLimit(): void;
    get sizeLimitInput(): string | undefined;
}
export interface CloudRunServiceTemplateSpecVolumesNfs {
    /**
    * Path exported by the NFS server
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#path CloudRunService#path}
    */
    readonly path: string;
    /**
    * If true, mount the NFS volume as read only in all mounts. Defaults to false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#read_only CloudRunService#read_only}
    */
    readonly readOnly?: boolean | cdktf.IResolvable;
    /**
    * IP address or hostname of the NFS server
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#server CloudRunService#server}
    */
    readonly server: string;
}
export declare function cloudRunServiceTemplateSpecVolumesNfsToTerraform(struct?: CloudRunServiceTemplateSpecVolumesNfsOutputReference | CloudRunServiceTemplateSpecVolumesNfs): any;
export declare function cloudRunServiceTemplateSpecVolumesNfsToHclTerraform(struct?: CloudRunServiceTemplateSpecVolumesNfsOutputReference | CloudRunServiceTemplateSpecVolumesNfs): any;
export declare class CloudRunServiceTemplateSpecVolumesNfsOutputReference 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(): CloudRunServiceTemplateSpecVolumesNfs | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecVolumesNfs | undefined);
    private _path?;
    get path(): string;
    set path(value: string);
    get pathInput(): string | undefined;
    private _readOnly?;
    get readOnly(): boolean | cdktf.IResolvable;
    set readOnly(value: boolean | cdktf.IResolvable);
    resetReadOnly(): void;
    get readOnlyInput(): boolean | cdktf.IResolvable | undefined;
    private _server?;
    get server(): string;
    set server(value: string);
    get serverInput(): string | undefined;
}
export interface CloudRunServiceTemplateSpecVolumesSecretItems {
    /**
    * The Cloud Secret Manager secret version.
    * Can be 'latest' for the latest value or an integer for a specific version.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#key CloudRunService#key}
    */
    readonly key: string;
    /**
    * Mode bits to use on this file, must be a value between 0000 and 0777. If
    * not specified, the volume defaultMode will be used. This might be in
    * conflict with other options that affect the file mode, like fsGroup, and
    * the result can be other mode bits set.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#mode CloudRunService#mode}
    */
    readonly mode?: number;
    /**
    * The relative path of the file to map the key to.
    * May not be an absolute path.
    * May not contain the path element '..'.
    * May not start with the string '..'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#path CloudRunService#path}
    */
    readonly path: string;
}
export declare function cloudRunServiceTemplateSpecVolumesSecretItemsToTerraform(struct?: CloudRunServiceTemplateSpecVolumesSecretItems | cdktf.IResolvable): any;
export declare function cloudRunServiceTemplateSpecVolumesSecretItemsToHclTerraform(struct?: CloudRunServiceTemplateSpecVolumesSecretItems | cdktf.IResolvable): any;
export declare class CloudRunServiceTemplateSpecVolumesSecretItemsOutputReference 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(): CloudRunServiceTemplateSpecVolumesSecretItems | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecVolumesSecretItems | cdktf.IResolvable | undefined);
    private _key?;
    get key(): string;
    set key(value: string);
    get keyInput(): string | undefined;
    private _mode?;
    get mode(): number;
    set mode(value: number);
    resetMode(): void;
    get modeInput(): number | undefined;
    private _path?;
    get path(): string;
    set path(value: string);
    get pathInput(): string | undefined;
}
export declare class CloudRunServiceTemplateSpecVolumesSecretItemsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTemplateSpecVolumesSecretItems[] | 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): CloudRunServiceTemplateSpecVolumesSecretItemsOutputReference;
}
export interface CloudRunServiceTemplateSpecVolumesSecret {
    /**
    * Mode bits to use on created files by default. Must be a value between 0000
    * and 0777. Defaults to 0644. Directories within the path are not affected by
    * this setting. This might be in conflict with other options that affect the
    * file mode, like fsGroup, and the result can be other mode bits set.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#default_mode CloudRunService#default_mode}
    */
    readonly defaultMode?: number;
    /**
    * The name of the secret in Cloud Secret Manager. By default, the secret
    * is assumed to be in the same project.
    * If the secret is in another project, you must define an alias.
    * An alias definition has the form:
    * {alias}:projects/{project-id|project-number}/secrets/{secret-name}.
    * If multiple alias definitions are needed, they must be separated by
    * commas.
    * The alias definitions must be set on the run.googleapis.com/secrets
    * annotation.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#secret_name CloudRunService#secret_name}
    */
    readonly secretName: string;
    /**
    * items block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#items CloudRunService#items}
    */
    readonly items?: CloudRunServiceTemplateSpecVolumesSecretItems[] | cdktf.IResolvable;
}
export declare function cloudRunServiceTemplateSpecVolumesSecretToTerraform(struct?: CloudRunServiceTemplateSpecVolumesSecretOutputReference | CloudRunServiceTemplateSpecVolumesSecret): any;
export declare function cloudRunServiceTemplateSpecVolumesSecretToHclTerraform(struct?: CloudRunServiceTemplateSpecVolumesSecretOutputReference | CloudRunServiceTemplateSpecVolumesSecret): any;
export declare class CloudRunServiceTemplateSpecVolumesSecretOutputReference 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(): CloudRunServiceTemplateSpecVolumesSecret | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecVolumesSecret | undefined);
    private _defaultMode?;
    get defaultMode(): number;
    set defaultMode(value: number);
    resetDefaultMode(): void;
    get defaultModeInput(): number | undefined;
    private _secretName?;
    get secretName(): string;
    set secretName(value: string);
    get secretNameInput(): string | undefined;
    private _items;
    get items(): CloudRunServiceTemplateSpecVolumesSecretItemsList;
    putItems(value: CloudRunServiceTemplateSpecVolumesSecretItems[] | cdktf.IResolvable): void;
    resetItems(): void;
    get itemsInput(): cdktf.IResolvable | CloudRunServiceTemplateSpecVolumesSecretItems[] | undefined;
}
export interface CloudRunServiceTemplateSpecVolumes {
    /**
    * Volume's name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#name CloudRunService#name}
    */
    readonly name: string;
    /**
    * csi block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#csi CloudRunService#csi}
    */
    readonly csi?: CloudRunServiceTemplateSpecVolumesCsi;
    /**
    * empty_dir block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#empty_dir CloudRunService#empty_dir}
    */
    readonly emptyDir?: CloudRunServiceTemplateSpecVolumesEmptyDir;
    /**
    * nfs block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#nfs CloudRunService#nfs}
    */
    readonly nfs?: CloudRunServiceTemplateSpecVolumesNfs;
    /**
    * secret block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#secret CloudRunService#secret}
    */
    readonly secret?: CloudRunServiceTemplateSpecVolumesSecret;
}
export declare function cloudRunServiceTemplateSpecVolumesToTerraform(struct?: CloudRunServiceTemplateSpecVolumes | cdktf.IResolvable): any;
export declare function cloudRunServiceTemplateSpecVolumesToHclTerraform(struct?: CloudRunServiceTemplateSpecVolumes | cdktf.IResolvable): any;
export declare class CloudRunServiceTemplateSpecVolumesOutputReference 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(): CloudRunServiceTemplateSpecVolumes | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTemplateSpecVolumes | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _csi;
    get csi(): CloudRunServiceTemplateSpecVolumesCsiOutputReference;
    putCsi(value: CloudRunServiceTemplateSpecVolumesCsi): void;
    resetCsi(): void;
    get csiInput(): CloudRunServiceTemplateSpecVolumesCsi | undefined;
    private _emptyDir;
    get emptyDir(): CloudRunServiceTemplateSpecVolumesEmptyDirOutputReference;
    putEmptyDir(value: CloudRunServiceTemplateSpecVolumesEmptyDir): void;
    resetEmptyDir(): void;
    get emptyDirInput(): CloudRunServiceTemplateSpecVolumesEmptyDir | undefined;
    private _nfs;
    get nfs(): CloudRunServiceTemplateSpecVolumesNfsOutputReference;
    putNfs(value: CloudRunServiceTemplateSpecVolumesNfs): void;
    resetNfs(): void;
    get nfsInput(): CloudRunServiceTemplateSpecVolumesNfs | undefined;
    private _secret;
    get secret(): CloudRunServiceTemplateSpecVolumesSecretOutputReference;
    putSecret(value: CloudRunServiceTemplateSpecVolumesSecret): void;
    resetSecret(): void;
    get secretInput(): CloudRunServiceTemplateSpecVolumesSecret | undefined;
}
export declare class CloudRunServiceTemplateSpecVolumesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTemplateSpecVolumes[] | 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): CloudRunServiceTemplateSpecVolumesOutputReference;
}
export interface CloudRunServiceTemplateSpec {
    /**
    * ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
    * requests per container of the Revision. If not specified or 0, defaults to 80 when
    * requested CPU >= 1 and defaults to 1 when requested CPU < 1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#container_concurrency CloudRunService#container_concurrency}
    */
    readonly containerConcurrency?: number;
    /**
    * Node Selector describes the hardware requirements of the resources.
    * Use the following node selector keys to configure features on a Revision:
    *   - 'run.googleapis.com/accelerator' sets the [type of GPU](https://cloud.google.com/run/docs/configuring/services/gpu) required by the Revision to run.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#node_selector CloudRunService#node_selector}
    */
    readonly nodeSelector?: {
        [key: string]: string;
    };
    /**
    * Email address of the IAM service account associated with the revision of the
    * service. The service account represents the identity of the running revision,
    * and determines what permissions the revision has. If not provided, the revision
    * will use the project's default service account.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#service_account_name CloudRunService#service_account_name}
    */
    readonly serviceAccountName?: string;
    /**
    * TimeoutSeconds holds the max duration the instance is allowed for responding to a request.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#timeout_seconds CloudRunService#timeout_seconds}
    */
    readonly timeoutSeconds?: number;
    /**
    * containers block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#containers CloudRunService#containers}
    */
    readonly containers?: CloudRunServiceTemplateSpecContainers[] | cdktf.IResolvable;
    /**
    * volumes block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#volumes CloudRunService#volumes}
    */
    readonly volumes?: CloudRunServiceTemplateSpecVolumes[] | cdktf.IResolvable;
}
export declare function cloudRunServiceTemplateSpecToTerraform(struct?: CloudRunServiceTemplateSpecOutputReference | CloudRunServiceTemplateSpec): any;
export declare function cloudRunServiceTemplateSpecToHclTerraform(struct?: CloudRunServiceTemplateSpecOutputReference | CloudRunServiceTemplateSpec): any;
export declare class CloudRunServiceTemplateSpecOutputReference 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(): CloudRunServiceTemplateSpec | undefined;
    set internalValue(value: CloudRunServiceTemplateSpec | undefined);
    private _containerConcurrency?;
    get containerConcurrency(): number;
    set containerConcurrency(value: number);
    resetContainerConcurrency(): void;
    get containerConcurrencyInput(): number | undefined;
    private _nodeSelector?;
    get nodeSelector(): {
        [key: string]: string;
    };
    set nodeSelector(value: {
        [key: string]: string;
    });
    resetNodeSelector(): void;
    get nodeSelectorInput(): {
        [key: string]: string;
    } | undefined;
    private _serviceAccountName?;
    get serviceAccountName(): string;
    set serviceAccountName(value: string);
    resetServiceAccountName(): void;
    get serviceAccountNameInput(): string | undefined;
    get servingState(): string;
    private _timeoutSeconds?;
    get timeoutSeconds(): number;
    set timeoutSeconds(value: number);
    resetTimeoutSeconds(): void;
    get timeoutSecondsInput(): number | undefined;
    private _containers;
    get containers(): CloudRunServiceTemplateSpecContainersList;
    putContainers(value: CloudRunServiceTemplateSpecContainers[] | cdktf.IResolvable): void;
    resetContainers(): void;
    get containersInput(): cdktf.IResolvable | CloudRunServiceTemplateSpecContainers[] | undefined;
    private _volumes;
    get volumes(): CloudRunServiceTemplateSpecVolumesList;
    putVolumes(value: CloudRunServiceTemplateSpecVolumes[] | cdktf.IResolvable): void;
    resetVolumes(): void;
    get volumesInput(): cdktf.IResolvable | CloudRunServiceTemplateSpecVolumes[] | undefined;
}
export interface CloudRunServiceTemplate {
    /**
    * metadata block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#metadata CloudRunService#metadata}
    */
    readonly metadata?: CloudRunServiceTemplateMetadata;
    /**
    * spec block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#spec CloudRunService#spec}
    */
    readonly spec?: CloudRunServiceTemplateSpec;
}
export declare function cloudRunServiceTemplateToTerraform(struct?: CloudRunServiceTemplateOutputReference | CloudRunServiceTemplate): any;
export declare function cloudRunServiceTemplateToHclTerraform(struct?: CloudRunServiceTemplateOutputReference | CloudRunServiceTemplate): any;
export declare class CloudRunServiceTemplateOutputReference 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(): CloudRunServiceTemplate | undefined;
    set internalValue(value: CloudRunServiceTemplate | undefined);
    private _metadata;
    get metadata(): CloudRunServiceTemplateMetadataOutputReference;
    putMetadata(value: CloudRunServiceTemplateMetadata): void;
    resetMetadata(): void;
    get metadataInput(): CloudRunServiceTemplateMetadata | undefined;
    private _spec;
    get spec(): CloudRunServiceTemplateSpecOutputReference;
    putSpec(value: CloudRunServiceTemplateSpec): void;
    resetSpec(): void;
    get specInput(): CloudRunServiceTemplateSpec | undefined;
}
export interface CloudRunServiceTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#create CloudRunService#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#delete CloudRunService#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#update CloudRunService#update}
    */
    readonly update?: string;
}
export declare function cloudRunServiceTimeoutsToTerraform(struct?: CloudRunServiceTimeouts | cdktf.IResolvable): any;
export declare function cloudRunServiceTimeoutsToHclTerraform(struct?: CloudRunServiceTimeouts | cdktf.IResolvable): any;
export declare class CloudRunServiceTimeoutsOutputReference 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(): CloudRunServiceTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTimeouts | 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;
}
export interface CloudRunServiceTraffic {
    /**
    * LatestRevision may be optionally provided to indicate that the latest ready
    * Revision of the Configuration should be used for this traffic target. When
    * provided LatestRevision must be true if RevisionName is empty; it must be
    * false when RevisionName is non-empty.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#latest_revision CloudRunService#latest_revision}
    */
    readonly latestRevision?: boolean | cdktf.IResolvable;
    /**
    * Percent specifies percent of the traffic to this Revision or Configuration.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#percent CloudRunService#percent}
    */
    readonly percent: number;
    /**
    * RevisionName of a specific revision to which to send this portion of traffic.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#revision_name CloudRunService#revision_name}
    */
    readonly revisionName?: string;
    /**
    * Tag is optionally used to expose a dedicated url for referencing this target exclusively.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#tag CloudRunService#tag}
    */
    readonly tag?: string;
}
export declare function cloudRunServiceTrafficToTerraform(struct?: CloudRunServiceTraffic | cdktf.IResolvable): any;
export declare function cloudRunServiceTrafficToHclTerraform(struct?: CloudRunServiceTraffic | cdktf.IResolvable): any;
export declare class CloudRunServiceTrafficOutputReference 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(): CloudRunServiceTraffic | cdktf.IResolvable | undefined;
    set internalValue(value: CloudRunServiceTraffic | cdktf.IResolvable | undefined);
    private _latestRevision?;
    get latestRevision(): boolean | cdktf.IResolvable;
    set latestRevision(value: boolean | cdktf.IResolvable);
    resetLatestRevision(): void;
    get latestRevisionInput(): boolean | cdktf.IResolvable | undefined;
    private _percent?;
    get percent(): number;
    set percent(value: number);
    get percentInput(): number | undefined;
    private _revisionName?;
    get revisionName(): string;
    set revisionName(value: string);
    resetRevisionName(): void;
    get revisionNameInput(): string | undefined;
    private _tag?;
    get tag(): string;
    set tag(value: string);
    resetTag(): void;
    get tagInput(): string | undefined;
    get url(): string;
}
export declare class CloudRunServiceTrafficList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudRunServiceTraffic[] | 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): CloudRunServiceTrafficOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service google_cloud_run_service}
*/
export declare class CloudRunService extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_cloud_run_service";
    /**
    * Generates CDKTF code for importing a CloudRunService 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 CloudRunService to import
    * @param importFromId The id of the existing CloudRunService that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/cloud_run_service#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the CloudRunService 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.36.0/docs/resources/cloud_run_service google_cloud_run_service} 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 CloudRunServiceConfig
    */
    constructor(scope: Construct, id: string, config: CloudRunServiceConfig);
    private _autogenerateRevisionName?;
    get autogenerateRevisionName(): boolean | cdktf.IResolvable;
    set autogenerateRevisionName(value: boolean | cdktf.IResolvable);
    resetAutogenerateRevisionName(): void;
    get autogenerateRevisionNameInput(): boolean | cdktf.IResolvable | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    get locationInput(): 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;
    private _status;
    get status(): CloudRunServiceStatusList;
    private _metadata;
    get metadata(): CloudRunServiceMetadataOutputReference;
    putMetadata(value: CloudRunServiceMetadata): void;
    resetMetadata(): void;
    get metadataInput(): CloudRunServiceMetadata | undefined;
    private _template;
    get template(): CloudRunServiceTemplateOutputReference;
    putTemplate(value: CloudRunServiceTemplate): void;
    resetTemplate(): void;
    get templateInput(): CloudRunServiceTemplate | undefined;
    private _timeouts;
    get timeouts(): CloudRunServiceTimeoutsOutputReference;
    putTimeouts(value: CloudRunServiceTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | CloudRunServiceTimeouts | undefined;
    private _traffic;
    get traffic(): CloudRunServiceTrafficList;
    putTraffic(value: CloudRunServiceTraffic[] | cdktf.IResolvable): void;
    resetTraffic(): void;
    get trafficInput(): cdktf.IResolvable | CloudRunServiceTraffic[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
