import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface CloudbuildTriggerConfig extends cdktf.TerraformMetaArguments {
    /**
    * Human-readable description of the trigger.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#description CloudbuildTrigger#description}
    */
    readonly description?: string;
    /**
    * Whether the trigger is disabled or not. If true, the trigger will never result in a build.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#disabled CloudbuildTrigger#disabled}
    */
    readonly disabled?: boolean | cdktf.IResolvable;
    /**
    * Path, from the source root, to a file whose contents is used for the template.
  Either a filename or build template must be provided. Set this only when using trigger_template or github.
  When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#filename CloudbuildTrigger#filename}
    */
    readonly filename?: string;
    /**
    * A Common Expression Language string. Used only with Pub/Sub and Webhook.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#filter CloudbuildTrigger#filter}
    */
    readonly filter?: string;
    /**
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#id CloudbuildTrigger#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;
    /**
    * ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match
  extended with support for '**'.
  
  If ignoredFiles and changed files are both empty, then they are not
  used to determine whether or not to trigger a build.
  
  If ignoredFiles is not empty, then we ignore any files that match any
  of the ignored_file globs. If the change has no files that are outside
  of the ignoredFiles globs, then we do not trigger a build.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#ignored_files CloudbuildTrigger#ignored_files}
    */
    readonly ignoredFiles?: string[];
    /**
    * Build logs will be sent back to GitHub as part of the checkrun
  result.  Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or
  INCLUDE_BUILD_LOGS_WITH_STATUS Possible values: ["INCLUDE_BUILD_LOGS_UNSPECIFIED", "INCLUDE_BUILD_LOGS_WITH_STATUS"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#include_build_logs CloudbuildTrigger#include_build_logs}
    */
    readonly includeBuildLogs?: string;
    /**
    * ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match
  extended with support for '**'.
  
  If any of the files altered in the commit pass the ignoredFiles filter
  and includedFiles is empty, then as far as this filter is concerned, we
  should trigger the build.
  
  If any of the files altered in the commit pass the ignoredFiles filter
  and includedFiles is not empty, then we make sure that at least one of
  those files matches a includedFiles glob. If not, then we do not trigger
  a build.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#included_files CloudbuildTrigger#included_files}
    */
    readonly includedFiles?: string[];
    /**
    * Name of the trigger. Must be unique within the project.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}
    */
    readonly name?: string;
    /**
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#project CloudbuildTrigger#project}
    */
    readonly project?: string;
    /**
    * The service account used for all user-controlled operations including
  triggers.patch, triggers.run, builds.create, and builds.cancel.
  
  If no service account is set, then the standard Cloud Build service account
  ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead.
  
  Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#service_account CloudbuildTrigger#service_account}
    */
    readonly serviceAccount?: string;
    /**
    * Substitutions data for Build resource.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#substitutions CloudbuildTrigger#substitutions}
    */
    readonly substitutions?: {
        [key: string]: string;
    };
    /**
    * Tags for annotation of a BuildTrigger
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tags CloudbuildTrigger#tags}
    */
    readonly tags?: string[];
    /**
    * approval_config block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#approval_config CloudbuildTrigger#approval_config}
    */
    readonly approvalConfig?: CloudbuildTriggerApprovalConfig;
    /**
    * build block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#build CloudbuildTrigger#build}
    */
    readonly buildAttribute?: CloudbuildTriggerBuild;
    /**
    * git_file_source block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#git_file_source CloudbuildTrigger#git_file_source}
    */
    readonly gitFileSource?: CloudbuildTriggerGitFileSource;
    /**
    * github block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#github CloudbuildTrigger#github}
    */
    readonly github?: CloudbuildTriggerGithub;
    /**
    * pubsub_config block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#pubsub_config CloudbuildTrigger#pubsub_config}
    */
    readonly pubsubConfig?: CloudbuildTriggerPubsubConfig;
    /**
    * source_to_build block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#source_to_build CloudbuildTrigger#source_to_build}
    */
    readonly sourceToBuild?: CloudbuildTriggerSourceToBuild;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#timeouts CloudbuildTrigger#timeouts}
    */
    readonly timeouts?: CloudbuildTriggerTimeouts;
    /**
    * trigger_template block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#trigger_template CloudbuildTrigger#trigger_template}
    */
    readonly triggerTemplate?: CloudbuildTriggerTriggerTemplate;
    /**
    * webhook_config block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#webhook_config CloudbuildTrigger#webhook_config}
    */
    readonly webhookConfig?: CloudbuildTriggerWebhookConfig;
}
export interface CloudbuildTriggerApprovalConfig {
    /**
    * Whether or not approval is needed. If this is set on a build, it will become pending when run,
  and will need to be explicitly approved to start.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#approval_required CloudbuildTrigger#approval_required}
    */
    readonly approvalRequired?: boolean | cdktf.IResolvable;
}
export declare function cloudbuildTriggerApprovalConfigToTerraform(struct?: CloudbuildTriggerApprovalConfigOutputReference | CloudbuildTriggerApprovalConfig): any;
export declare class CloudbuildTriggerApprovalConfigOutputReference 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(): CloudbuildTriggerApprovalConfig | undefined;
    set internalValue(value: CloudbuildTriggerApprovalConfig | undefined);
    private _approvalRequired?;
    get approvalRequired(): boolean | cdktf.IResolvable;
    set approvalRequired(value: boolean | cdktf.IResolvable);
    resetApprovalRequired(): void;
    get approvalRequiredInput(): boolean | cdktf.IResolvable | undefined;
}
export interface CloudbuildTriggerBuildArtifactsObjectsTiming {
}
export declare function cloudbuildTriggerBuildArtifactsObjectsTimingToTerraform(struct?: CloudbuildTriggerBuildArtifactsObjectsTiming): any;
export declare class CloudbuildTriggerBuildArtifactsObjectsTimingOutputReference 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(): CloudbuildTriggerBuildArtifactsObjectsTiming | undefined;
    set internalValue(value: CloudbuildTriggerBuildArtifactsObjectsTiming | undefined);
    get endTime(): string;
    get startTime(): string;
}
export declare class CloudbuildTriggerBuildArtifactsObjectsTimingList 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): CloudbuildTriggerBuildArtifactsObjectsTimingOutputReference;
}
export interface CloudbuildTriggerBuildArtifactsObjects {
    /**
    * Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/".
  
  Files in the workspace matching any path pattern will be uploaded to Cloud Storage with
  this location as a prefix.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#location CloudbuildTrigger#location}
    */
    readonly location?: string;
    /**
    * Path globs used to match files in the build's workspace.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#paths CloudbuildTrigger#paths}
    */
    readonly paths?: string[];
}
export declare function cloudbuildTriggerBuildArtifactsObjectsToTerraform(struct?: CloudbuildTriggerBuildArtifactsObjectsOutputReference | CloudbuildTriggerBuildArtifactsObjects): any;
export declare class CloudbuildTriggerBuildArtifactsObjectsOutputReference 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(): CloudbuildTriggerBuildArtifactsObjects | undefined;
    set internalValue(value: CloudbuildTriggerBuildArtifactsObjects | undefined);
    private _location?;
    get location(): string;
    set location(value: string);
    resetLocation(): void;
    get locationInput(): string | undefined;
    private _paths?;
    get paths(): string[];
    set paths(value: string[]);
    resetPaths(): void;
    get pathsInput(): string[] | undefined;
    private _timing;
    get timing(): CloudbuildTriggerBuildArtifactsObjectsTimingList;
}
export interface CloudbuildTriggerBuildArtifacts {
    /**
    * A list of images to be pushed upon the successful completion of all build steps.
  
  The images will be pushed using the builder service account's credentials.
  
  The digests of the pushed images will be stored in the Build resource's results field.
  
  If any of the images fail to be pushed, the build is marked FAILURE.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#images CloudbuildTrigger#images}
    */
    readonly images?: string[];
    /**
    * objects block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#objects CloudbuildTrigger#objects}
    */
    readonly objects?: CloudbuildTriggerBuildArtifactsObjects;
}
export declare function cloudbuildTriggerBuildArtifactsToTerraform(struct?: CloudbuildTriggerBuildArtifactsOutputReference | CloudbuildTriggerBuildArtifacts): any;
export declare class CloudbuildTriggerBuildArtifactsOutputReference 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(): CloudbuildTriggerBuildArtifacts | undefined;
    set internalValue(value: CloudbuildTriggerBuildArtifacts | undefined);
    private _images?;
    get images(): string[];
    set images(value: string[]);
    resetImages(): void;
    get imagesInput(): string[] | undefined;
    private _objects;
    get objects(): CloudbuildTriggerBuildArtifactsObjectsOutputReference;
    putObjects(value: CloudbuildTriggerBuildArtifactsObjects): void;
    resetObjects(): void;
    get objectsInput(): CloudbuildTriggerBuildArtifactsObjects | undefined;
}
export interface CloudbuildTriggerBuildAvailableSecretsSecretManager {
    /**
    * Environment variable name to associate with the secret. Secret environment
  variables must be unique across all of a build's secrets, and must be used
  by at least one build step.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#env CloudbuildTrigger#env}
    */
    readonly env: string;
    /**
    * Resource name of the SecretVersion. In format: projects/*\/secrets/*\/versions/*
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#version_name CloudbuildTrigger#version_name}
    */
    readonly versionName: string;
}
export declare function cloudbuildTriggerBuildAvailableSecretsSecretManagerToTerraform(struct?: CloudbuildTriggerBuildAvailableSecretsSecretManager | cdktf.IResolvable): any;
export declare class CloudbuildTriggerBuildAvailableSecretsSecretManagerOutputReference 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(): CloudbuildTriggerBuildAvailableSecretsSecretManager | cdktf.IResolvable | undefined;
    set internalValue(value: CloudbuildTriggerBuildAvailableSecretsSecretManager | cdktf.IResolvable | undefined);
    private _env?;
    get env(): string;
    set env(value: string);
    get envInput(): string | undefined;
    private _versionName?;
    get versionName(): string;
    set versionName(value: string);
    get versionNameInput(): string | undefined;
}
export declare class CloudbuildTriggerBuildAvailableSecretsSecretManagerList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudbuildTriggerBuildAvailableSecretsSecretManager[] | 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): CloudbuildTriggerBuildAvailableSecretsSecretManagerOutputReference;
}
export interface CloudbuildTriggerBuildAvailableSecrets {
    /**
    * secret_manager block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret_manager CloudbuildTrigger#secret_manager}
    */
    readonly secretManager: CloudbuildTriggerBuildAvailableSecretsSecretManager[] | cdktf.IResolvable;
}
export declare function cloudbuildTriggerBuildAvailableSecretsToTerraform(struct?: CloudbuildTriggerBuildAvailableSecretsOutputReference | CloudbuildTriggerBuildAvailableSecrets): any;
export declare class CloudbuildTriggerBuildAvailableSecretsOutputReference 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(): CloudbuildTriggerBuildAvailableSecrets | undefined;
    set internalValue(value: CloudbuildTriggerBuildAvailableSecrets | undefined);
    private _secretManager;
    get secretManager(): CloudbuildTriggerBuildAvailableSecretsSecretManagerList;
    putSecretManager(value: CloudbuildTriggerBuildAvailableSecretsSecretManager[] | cdktf.IResolvable): void;
    get secretManagerInput(): cdktf.IResolvable | CloudbuildTriggerBuildAvailableSecretsSecretManager[] | undefined;
}
export interface CloudbuildTriggerBuildOptionsVolumes {
    /**
    * Name of the volume to mount.
  
  Volume names must be unique per build step and must be valid names for Docker volumes.
  Each named volume must be used by at least two build steps.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}
    */
    readonly name?: string;
    /**
    * Path at which to mount the volume.
  
  Paths must be absolute and cannot conflict with other volume paths on the same
  build step or with certain reserved volume paths.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#path CloudbuildTrigger#path}
    */
    readonly path?: string;
}
export declare function cloudbuildTriggerBuildOptionsVolumesToTerraform(struct?: CloudbuildTriggerBuildOptionsVolumes | cdktf.IResolvable): any;
export declare class CloudbuildTriggerBuildOptionsVolumesOutputReference 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(): CloudbuildTriggerBuildOptionsVolumes | cdktf.IResolvable | undefined;
    set internalValue(value: CloudbuildTriggerBuildOptionsVolumes | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _path?;
    get path(): string;
    set path(value: string);
    resetPath(): void;
    get pathInput(): string | undefined;
}
export declare class CloudbuildTriggerBuildOptionsVolumesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudbuildTriggerBuildOptionsVolumes[] | 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): CloudbuildTriggerBuildOptionsVolumesOutputReference;
}
export interface CloudbuildTriggerBuildOptions {
    /**
    * Requested disk size for the VM that runs the build. Note that this is NOT "disk free";
  some of the space will be used by the operating system and build utilities.
  Also note that this is the minimum disk size that will be allocated for the build --
  the build may run with a larger disk than requested. At present, the maximum disk size
  is 1000GB; builds that request more than the maximum are rejected with an error.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#disk_size_gb CloudbuildTrigger#disk_size_gb}
    */
    readonly diskSizeGb?: number;
    /**
    * Option to specify whether or not to apply bash style string operations to the substitutions.
  
  NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#dynamic_substitutions CloudbuildTrigger#dynamic_substitutions}
    */
    readonly dynamicSubstitutions?: boolean | cdktf.IResolvable;
    /**
    * A list of global environment variable definitions that will exist for all build steps
  in this build. If a variable is defined in both globally and in a build step,
  the variable will use the build step value.
  
  The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#env CloudbuildTrigger#env}
    */
    readonly env?: string[];
    /**
    * Option to define build log streaming behavior to Google Cloud Storage. Possible values: ["STREAM_DEFAULT", "STREAM_ON", "STREAM_OFF"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#log_streaming_option CloudbuildTrigger#log_streaming_option}
    */
    readonly logStreamingOption?: string;
    /**
    * Option to specify the logging mode, which determines if and where build logs are stored. Possible values: ["LOGGING_UNSPECIFIED", "LEGACY", "GCS_ONLY", "STACKDRIVER_ONLY", "CLOUD_LOGGING_ONLY", "NONE"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#logging CloudbuildTrigger#logging}
    */
    readonly logging?: string;
    /**
    * Compute Engine machine type on which to run the build. Possible values: ["UNSPECIFIED", "N1_HIGHCPU_8", "N1_HIGHCPU_32", "E2_HIGHCPU_8", "E2_HIGHCPU_32"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#machine_type CloudbuildTrigger#machine_type}
    */
    readonly machineType?: string;
    /**
    * Requested verifiability options. Possible values: ["NOT_VERIFIED", "VERIFIED"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#requested_verify_option CloudbuildTrigger#requested_verify_option}
    */
    readonly requestedVerifyOption?: string;
    /**
    * A list of global environment variables, which are encrypted using a Cloud Key Management
  Service crypto key. These values must be specified in the build's Secret. These variables
  will be available to all build steps in this build.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret_env CloudbuildTrigger#secret_env}
    */
    readonly secretEnv?: string[];
    /**
    * Requested hash for SourceProvenance. Possible values: ["NONE", "SHA256", "MD5"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#source_provenance_hash CloudbuildTrigger#source_provenance_hash}
    */
    readonly sourceProvenanceHash?: string[];
    /**
    * Option to specify behavior when there is an error in the substitution checks.
  
  NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden
  in the build configuration file. Possible values: ["MUST_MATCH", "ALLOW_LOOSE"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#substitution_option CloudbuildTrigger#substitution_option}
    */
    readonly substitutionOption?: string;
    /**
    * Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool}
  
  This field is experimental.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#worker_pool CloudbuildTrigger#worker_pool}
    */
    readonly workerPool?: string;
    /**
    * volumes block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#volumes CloudbuildTrigger#volumes}
    */
    readonly volumes?: CloudbuildTriggerBuildOptionsVolumes[] | cdktf.IResolvable;
}
export declare function cloudbuildTriggerBuildOptionsToTerraform(struct?: CloudbuildTriggerBuildOptionsOutputReference | CloudbuildTriggerBuildOptions): any;
export declare class CloudbuildTriggerBuildOptionsOutputReference 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(): CloudbuildTriggerBuildOptions | undefined;
    set internalValue(value: CloudbuildTriggerBuildOptions | undefined);
    private _diskSizeGb?;
    get diskSizeGb(): number;
    set diskSizeGb(value: number);
    resetDiskSizeGb(): void;
    get diskSizeGbInput(): number | undefined;
    private _dynamicSubstitutions?;
    get dynamicSubstitutions(): boolean | cdktf.IResolvable;
    set dynamicSubstitutions(value: boolean | cdktf.IResolvable);
    resetDynamicSubstitutions(): void;
    get dynamicSubstitutionsInput(): boolean | cdktf.IResolvable | undefined;
    private _env?;
    get env(): string[];
    set env(value: string[]);
    resetEnv(): void;
    get envInput(): string[] | undefined;
    private _logStreamingOption?;
    get logStreamingOption(): string;
    set logStreamingOption(value: string);
    resetLogStreamingOption(): void;
    get logStreamingOptionInput(): string | undefined;
    private _logging?;
    get logging(): string;
    set logging(value: string);
    resetLogging(): void;
    get loggingInput(): string | undefined;
    private _machineType?;
    get machineType(): string;
    set machineType(value: string);
    resetMachineType(): void;
    get machineTypeInput(): string | undefined;
    private _requestedVerifyOption?;
    get requestedVerifyOption(): string;
    set requestedVerifyOption(value: string);
    resetRequestedVerifyOption(): void;
    get requestedVerifyOptionInput(): string | undefined;
    private _secretEnv?;
    get secretEnv(): string[];
    set secretEnv(value: string[]);
    resetSecretEnv(): void;
    get secretEnvInput(): string[] | undefined;
    private _sourceProvenanceHash?;
    get sourceProvenanceHash(): string[];
    set sourceProvenanceHash(value: string[]);
    resetSourceProvenanceHash(): void;
    get sourceProvenanceHashInput(): string[] | undefined;
    private _substitutionOption?;
    get substitutionOption(): string;
    set substitutionOption(value: string);
    resetSubstitutionOption(): void;
    get substitutionOptionInput(): string | undefined;
    private _workerPool?;
    get workerPool(): string;
    set workerPool(value: string);
    resetWorkerPool(): void;
    get workerPoolInput(): string | undefined;
    private _volumes;
    get volumes(): CloudbuildTriggerBuildOptionsVolumesList;
    putVolumes(value: CloudbuildTriggerBuildOptionsVolumes[] | cdktf.IResolvable): void;
    resetVolumes(): void;
    get volumesInput(): cdktf.IResolvable | CloudbuildTriggerBuildOptionsVolumes[] | undefined;
}
export interface CloudbuildTriggerBuildSecret {
    /**
    * Cloud KMS key name to use to decrypt these envs.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#kms_key_name CloudbuildTrigger#kms_key_name}
    */
    readonly kmsKeyName: string;
    /**
    * Map of environment variable name to its encrypted value.
  Secret environment variables must be unique across all of a build's secrets,
  and must be used by at least one build step. Values can be at most 64 KB in size.
  There can be at most 100 secret values across all of a build's secrets.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret_env CloudbuildTrigger#secret_env}
    */
    readonly secretEnv?: {
        [key: string]: string;
    };
}
export declare function cloudbuildTriggerBuildSecretToTerraform(struct?: CloudbuildTriggerBuildSecret | cdktf.IResolvable): any;
export declare class CloudbuildTriggerBuildSecretOutputReference 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(): CloudbuildTriggerBuildSecret | cdktf.IResolvable | undefined;
    set internalValue(value: CloudbuildTriggerBuildSecret | cdktf.IResolvable | undefined);
    private _kmsKeyName?;
    get kmsKeyName(): string;
    set kmsKeyName(value: string);
    get kmsKeyNameInput(): string | undefined;
    private _secretEnv?;
    get secretEnv(): {
        [key: string]: string;
    };
    set secretEnv(value: {
        [key: string]: string;
    });
    resetSecretEnv(): void;
    get secretEnvInput(): {
        [key: string]: string;
    } | undefined;
}
export declare class CloudbuildTriggerBuildSecretList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudbuildTriggerBuildSecret[] | 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): CloudbuildTriggerBuildSecretOutputReference;
}
export interface CloudbuildTriggerBuildSourceRepoSource {
    /**
    * Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided.
  The syntax of the regular expressions accepted is the syntax accepted by RE2 and
  described at https://github.com/google/re2/wiki/Syntax
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#branch_name CloudbuildTrigger#branch_name}
    */
    readonly branchName?: string;
    /**
    * Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#commit_sha CloudbuildTrigger#commit_sha}
    */
    readonly commitSha?: string;
    /**
    * Directory, relative to the source root, in which to run the build.
  This must be a relative path. If a step's dir is specified and is an absolute path,
  this value is ignored for that step's execution.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#dir CloudbuildTrigger#dir}
    */
    readonly dir?: string;
    /**
    * Only trigger a build if the revision regex does NOT match the revision regex.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#invert_regex CloudbuildTrigger#invert_regex}
    */
    readonly invertRegex?: boolean | cdktf.IResolvable;
    /**
    * ID of the project that owns the Cloud Source Repository.
  If omitted, the project ID requesting the build is assumed.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#project_id CloudbuildTrigger#project_id}
    */
    readonly projectId?: string;
    /**
    * Name of the Cloud Source Repository.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_name CloudbuildTrigger#repo_name}
    */
    readonly repoName: string;
    /**
    * Substitutions to use in a triggered build. Should only be used with triggers.run
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#substitutions CloudbuildTrigger#substitutions}
    */
    readonly substitutions?: {
        [key: string]: string;
    };
    /**
    * Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided.
  The syntax of the regular expressions accepted is the syntax accepted by RE2 and
  described at https://github.com/google/re2/wiki/Syntax
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tag_name CloudbuildTrigger#tag_name}
    */
    readonly tagName?: string;
}
export declare function cloudbuildTriggerBuildSourceRepoSourceToTerraform(struct?: CloudbuildTriggerBuildSourceRepoSourceOutputReference | CloudbuildTriggerBuildSourceRepoSource): any;
export declare class CloudbuildTriggerBuildSourceRepoSourceOutputReference 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(): CloudbuildTriggerBuildSourceRepoSource | undefined;
    set internalValue(value: CloudbuildTriggerBuildSourceRepoSource | undefined);
    private _branchName?;
    get branchName(): string;
    set branchName(value: string);
    resetBranchName(): void;
    get branchNameInput(): string | undefined;
    private _commitSha?;
    get commitSha(): string;
    set commitSha(value: string);
    resetCommitSha(): void;
    get commitShaInput(): string | undefined;
    private _dir?;
    get dir(): string;
    set dir(value: string);
    resetDir(): void;
    get dirInput(): string | undefined;
    private _invertRegex?;
    get invertRegex(): boolean | cdktf.IResolvable;
    set invertRegex(value: boolean | cdktf.IResolvable);
    resetInvertRegex(): void;
    get invertRegexInput(): boolean | cdktf.IResolvable | undefined;
    private _projectId?;
    get projectId(): string;
    set projectId(value: string);
    resetProjectId(): void;
    get projectIdInput(): string | undefined;
    private _repoName?;
    get repoName(): string;
    set repoName(value: string);
    get repoNameInput(): string | undefined;
    private _substitutions?;
    get substitutions(): {
        [key: string]: string;
    };
    set substitutions(value: {
        [key: string]: string;
    });
    resetSubstitutions(): void;
    get substitutionsInput(): {
        [key: string]: string;
    } | undefined;
    private _tagName?;
    get tagName(): string;
    set tagName(value: string);
    resetTagName(): void;
    get tagNameInput(): string | undefined;
}
export interface CloudbuildTriggerBuildSourceStorageSource {
    /**
    * Google Cloud Storage bucket containing the source.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#bucket CloudbuildTrigger#bucket}
    */
    readonly bucket: string;
    /**
    * Google Cloud Storage generation for the object.
  If the generation is omitted, the latest generation will be used
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#generation CloudbuildTrigger#generation}
    */
    readonly generation?: string;
    /**
    * Google Cloud Storage object containing the source.
  This object must be a gzipped archive file (.tar.gz) containing source to build.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#object CloudbuildTrigger#object}
    */
    readonly object: string;
}
export declare function cloudbuildTriggerBuildSourceStorageSourceToTerraform(struct?: CloudbuildTriggerBuildSourceStorageSourceOutputReference | CloudbuildTriggerBuildSourceStorageSource): any;
export declare class CloudbuildTriggerBuildSourceStorageSourceOutputReference 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(): CloudbuildTriggerBuildSourceStorageSource | undefined;
    set internalValue(value: CloudbuildTriggerBuildSourceStorageSource | undefined);
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    get bucketInput(): string | undefined;
    private _generation?;
    get generation(): string;
    set generation(value: string);
    resetGeneration(): void;
    get generationInput(): string | undefined;
    private _object?;
    get object(): string;
    set object(value: string);
    get objectInput(): string | undefined;
}
export interface CloudbuildTriggerBuildSource {
    /**
    * repo_source block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_source CloudbuildTrigger#repo_source}
    */
    readonly repoSource?: CloudbuildTriggerBuildSourceRepoSource;
    /**
    * storage_source block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#storage_source CloudbuildTrigger#storage_source}
    */
    readonly storageSource?: CloudbuildTriggerBuildSourceStorageSource;
}
export declare function cloudbuildTriggerBuildSourceToTerraform(struct?: CloudbuildTriggerBuildSourceOutputReference | CloudbuildTriggerBuildSource): any;
export declare class CloudbuildTriggerBuildSourceOutputReference 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(): CloudbuildTriggerBuildSource | undefined;
    set internalValue(value: CloudbuildTriggerBuildSource | undefined);
    private _repoSource;
    get repoSource(): CloudbuildTriggerBuildSourceRepoSourceOutputReference;
    putRepoSource(value: CloudbuildTriggerBuildSourceRepoSource): void;
    resetRepoSource(): void;
    get repoSourceInput(): CloudbuildTriggerBuildSourceRepoSource | undefined;
    private _storageSource;
    get storageSource(): CloudbuildTriggerBuildSourceStorageSourceOutputReference;
    putStorageSource(value: CloudbuildTriggerBuildSourceStorageSource): void;
    resetStorageSource(): void;
    get storageSourceInput(): CloudbuildTriggerBuildSourceStorageSource | undefined;
}
export interface CloudbuildTriggerBuildStepVolumes {
    /**
    * Name of the volume to mount.
  
  Volume names must be unique per build step and must be valid names for
  Docker volumes. Each named volume must be used by at least two build steps.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}
    */
    readonly name: string;
    /**
    * Path at which to mount the volume.
  
  Paths must be absolute and cannot conflict with other volume paths on
  the same build step or with certain reserved volume paths.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#path CloudbuildTrigger#path}
    */
    readonly path: string;
}
export declare function cloudbuildTriggerBuildStepVolumesToTerraform(struct?: CloudbuildTriggerBuildStepVolumes | cdktf.IResolvable): any;
export declare class CloudbuildTriggerBuildStepVolumesOutputReference 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(): CloudbuildTriggerBuildStepVolumes | cdktf.IResolvable | undefined;
    set internalValue(value: CloudbuildTriggerBuildStepVolumes | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _path?;
    get path(): string;
    set path(value: string);
    get pathInput(): string | undefined;
}
export declare class CloudbuildTriggerBuildStepVolumesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudbuildTriggerBuildStepVolumes[] | 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): CloudbuildTriggerBuildStepVolumesOutputReference;
}
export interface CloudbuildTriggerBuildStep {
    /**
    * A list of arguments that will be presented to the step when it is started.
  
  If the image used to run the step's container has an entrypoint, the args
  are used as arguments to that entrypoint. If the image does not define an
  entrypoint, the first element in args is used as the entrypoint, and the
  remainder will be used as arguments.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#args CloudbuildTrigger#args}
    */
    readonly args?: string[];
    /**
    * Working directory to use when running this step's container.
  
  If this value is a relative path, it is relative to the build's working
  directory. If this value is absolute, it may be outside the build's working
  directory, in which case the contents of the path may not be persisted
  across build step executions, unless a 'volume' for that path is specified.
  
  If the build specifies a 'RepoSource' with 'dir' and a step with a
  'dir',
  which specifies an absolute path, the 'RepoSource' 'dir' is ignored
  for the step's execution.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#dir CloudbuildTrigger#dir}
    */
    readonly dir?: string;
    /**
    * Entrypoint to be used instead of the build step image's
  default entrypoint.
  If unset, the image's default entrypoint is used
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#entrypoint CloudbuildTrigger#entrypoint}
    */
    readonly entrypoint?: string;
    /**
    * A list of environment variable definitions to be used when
  running a step.
  
  The elements are of the form "KEY=VALUE" for the environment variable
  "KEY" being given the value "VALUE".
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#env CloudbuildTrigger#env}
    */
    readonly env?: string[];
    /**
    * Unique identifier for this build step, used in 'wait_for' to
  reference this build step as a dependency.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#id CloudbuildTrigger#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 name of the container image that will run this particular build step.
  
  If the image is available in the host's Docker daemon's cache, it will be
  run directly. If not, the host will attempt to pull the image first, using
  the builder service account's credentials if necessary.
  
  The Docker daemon's cache will already have the latest versions of all of
  the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders
  for images and examples).
  The Docker daemon will also have cached many of the layers for some popular
  images, like "ubuntu", "debian", but they will be refreshed at the time
  you attempt to use them.
  
  If you built an image in a previous build step, it will be stored in the
  host's Docker daemon's cache and is available to use as the name for a
  later build step.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}
    */
    readonly name: string;
    /**
    * A list of environment variables which are encrypted using
  a Cloud Key
  Management Service crypto key. These values must be specified in
  the build's 'Secret'.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret_env CloudbuildTrigger#secret_env}
    */
    readonly secretEnv?: string[];
    /**
    * Time limit for executing this build step. If not defined,
  the step has no
  time limit and will be allowed to continue to run until either it
  completes or the build itself times out.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#timeout CloudbuildTrigger#timeout}
    */
    readonly timeout?: string;
    /**
    * Output only. Stores timing information for executing this
  build step.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#timing CloudbuildTrigger#timing}
    */
    readonly timing?: string;
    /**
    * The ID(s) of the step(s) that this build step depends on.
  
  This build step will not start until all the build steps in 'wait_for'
  have completed successfully. If 'wait_for' is empty, this build step
  will start when all previous build steps in the 'Build.Steps' list
  have completed successfully.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#wait_for CloudbuildTrigger#wait_for}
    */
    readonly waitFor?: string[];
    /**
    * volumes block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#volumes CloudbuildTrigger#volumes}
    */
    readonly volumes?: CloudbuildTriggerBuildStepVolumes[] | cdktf.IResolvable;
}
export declare function cloudbuildTriggerBuildStepToTerraform(struct?: CloudbuildTriggerBuildStep | cdktf.IResolvable): any;
export declare class CloudbuildTriggerBuildStepOutputReference 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(): CloudbuildTriggerBuildStep | cdktf.IResolvable | undefined;
    set internalValue(value: CloudbuildTriggerBuildStep | cdktf.IResolvable | undefined);
    private _args?;
    get args(): string[];
    set args(value: string[]);
    resetArgs(): void;
    get argsInput(): string[] | undefined;
    private _dir?;
    get dir(): string;
    set dir(value: string);
    resetDir(): void;
    get dirInput(): string | undefined;
    private _entrypoint?;
    get entrypoint(): string;
    set entrypoint(value: string);
    resetEntrypoint(): void;
    get entrypointInput(): string | undefined;
    private _env?;
    get env(): string[];
    set env(value: string[]);
    resetEnv(): void;
    get envInput(): string[] | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _secretEnv?;
    get secretEnv(): string[];
    set secretEnv(value: string[]);
    resetSecretEnv(): void;
    get secretEnvInput(): string[] | undefined;
    private _timeout?;
    get timeout(): string;
    set timeout(value: string);
    resetTimeout(): void;
    get timeoutInput(): string | undefined;
    private _timing?;
    get timing(): string;
    set timing(value: string);
    resetTiming(): void;
    get timingInput(): string | undefined;
    private _waitFor?;
    get waitFor(): string[];
    set waitFor(value: string[]);
    resetWaitFor(): void;
    get waitForInput(): string[] | undefined;
    private _volumes;
    get volumes(): CloudbuildTriggerBuildStepVolumesList;
    putVolumes(value: CloudbuildTriggerBuildStepVolumes[] | cdktf.IResolvable): void;
    resetVolumes(): void;
    get volumesInput(): cdktf.IResolvable | CloudbuildTriggerBuildStepVolumes[] | undefined;
}
export declare class CloudbuildTriggerBuildStepList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudbuildTriggerBuildStep[] | 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): CloudbuildTriggerBuildStepOutputReference;
}
export interface CloudbuildTriggerBuild {
    /**
    * A list of images to be pushed upon the successful completion of all build steps.
  The images are pushed using the builder service account's credentials.
  The digests of the pushed images will be stored in the Build resource's results field.
  If any of the images fail to be pushed, the build status is marked FAILURE.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#images CloudbuildTrigger#images}
    */
    readonly images?: string[];
    /**
    * Google Cloud Storage bucket where logs should be written.
  Logs file names will be of the format ${logsBucket}/log-${build_id}.txt.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#logs_bucket CloudbuildTrigger#logs_bucket}
    */
    readonly logsBucket?: string;
    /**
    * TTL in queue for this build. If provided and the build is enqueued longer than this value,
  the build will expire and the build status will be EXPIRED.
  The TTL starts ticking from createTime.
  A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#queue_ttl CloudbuildTrigger#queue_ttl}
    */
    readonly queueTtl?: string;
    /**
    * Substitutions data for Build resource.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#substitutions CloudbuildTrigger#substitutions}
    */
    readonly substitutions?: {
        [key: string]: string;
    };
    /**
    * Tags for annotation of a Build. These are not docker tags.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tags CloudbuildTrigger#tags}
    */
    readonly tags?: string[];
    /**
    * Amount of time that this build should be allowed to run, to second granularity.
  If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT.
  This timeout must be equal to or greater than the sum of the timeouts for build steps within the build.
  The expected format is the number of seconds followed by s.
  Default time is ten minutes (600s).
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#timeout CloudbuildTrigger#timeout}
    */
    readonly timeout?: string;
    /**
    * artifacts block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#artifacts CloudbuildTrigger#artifacts}
    */
    readonly artifacts?: CloudbuildTriggerBuildArtifacts;
    /**
    * available_secrets block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#available_secrets CloudbuildTrigger#available_secrets}
    */
    readonly availableSecrets?: CloudbuildTriggerBuildAvailableSecrets;
    /**
    * options block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#options CloudbuildTrigger#options}
    */
    readonly options?: CloudbuildTriggerBuildOptions;
    /**
    * secret block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret CloudbuildTrigger#secret}
    */
    readonly secret?: CloudbuildTriggerBuildSecret[] | cdktf.IResolvable;
    /**
    * source block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#source CloudbuildTrigger#source}
    */
    readonly source?: CloudbuildTriggerBuildSource;
    /**
    * step block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#step CloudbuildTrigger#step}
    */
    readonly step: CloudbuildTriggerBuildStep[] | cdktf.IResolvable;
}
export declare function cloudbuildTriggerBuildToTerraform(struct?: CloudbuildTriggerBuildOutputReference | CloudbuildTriggerBuild): any;
export declare class CloudbuildTriggerBuildOutputReference 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(): CloudbuildTriggerBuild | undefined;
    set internalValue(value: CloudbuildTriggerBuild | undefined);
    private _images?;
    get images(): string[];
    set images(value: string[]);
    resetImages(): void;
    get imagesInput(): string[] | undefined;
    private _logsBucket?;
    get logsBucket(): string;
    set logsBucket(value: string);
    resetLogsBucket(): void;
    get logsBucketInput(): string | undefined;
    private _queueTtl?;
    get queueTtl(): string;
    set queueTtl(value: string);
    resetQueueTtl(): void;
    get queueTtlInput(): string | undefined;
    private _substitutions?;
    get substitutions(): {
        [key: string]: string;
    };
    set substitutions(value: {
        [key: string]: string;
    });
    resetSubstitutions(): void;
    get substitutionsInput(): {
        [key: string]: string;
    } | undefined;
    private _tags?;
    get tags(): string[];
    set tags(value: string[]);
    resetTags(): void;
    get tagsInput(): string[] | undefined;
    private _timeout?;
    get timeout(): string;
    set timeout(value: string);
    resetTimeout(): void;
    get timeoutInput(): string | undefined;
    private _artifacts;
    get artifacts(): CloudbuildTriggerBuildArtifactsOutputReference;
    putArtifacts(value: CloudbuildTriggerBuildArtifacts): void;
    resetArtifacts(): void;
    get artifactsInput(): CloudbuildTriggerBuildArtifacts | undefined;
    private _availableSecrets;
    get availableSecrets(): CloudbuildTriggerBuildAvailableSecretsOutputReference;
    putAvailableSecrets(value: CloudbuildTriggerBuildAvailableSecrets): void;
    resetAvailableSecrets(): void;
    get availableSecretsInput(): CloudbuildTriggerBuildAvailableSecrets | undefined;
    private _options;
    get options(): CloudbuildTriggerBuildOptionsOutputReference;
    putOptions(value: CloudbuildTriggerBuildOptions): void;
    resetOptions(): void;
    get optionsInput(): CloudbuildTriggerBuildOptions | undefined;
    private _secret;
    get secret(): CloudbuildTriggerBuildSecretList;
    putSecret(value: CloudbuildTriggerBuildSecret[] | cdktf.IResolvable): void;
    resetSecret(): void;
    get secretInput(): cdktf.IResolvable | CloudbuildTriggerBuildSecret[] | undefined;
    private _source;
    get source(): CloudbuildTriggerBuildSourceOutputReference;
    putSource(value: CloudbuildTriggerBuildSource): void;
    resetSource(): void;
    get sourceInput(): CloudbuildTriggerBuildSource | undefined;
    private _step;
    get step(): CloudbuildTriggerBuildStepList;
    putStep(value: CloudbuildTriggerBuildStep[] | cdktf.IResolvable): void;
    get stepInput(): cdktf.IResolvable | CloudbuildTriggerBuildStep[] | undefined;
}
export interface CloudbuildTriggerGitFileSource {
    /**
    * The path of the file, with the repo root as the root of the path.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#path CloudbuildTrigger#path}
    */
    readonly path: string;
    /**
    * The type of the repo, since it may not be explicit from the repo field (e.g from a URL).
  Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB Possible values: ["UNKNOWN", "CLOUD_SOURCE_REPOSITORIES", "GITHUB"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_type CloudbuildTrigger#repo_type}
    */
    readonly repoType: string;
    /**
    * The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the
  filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions
  If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#revision CloudbuildTrigger#revision}
    */
    readonly revision?: string;
    /**
    * The URI of the repo (optional). If unspecified, the repo from which the trigger
  invocation originated is assumed to be the repo from which to read the specified path.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#uri CloudbuildTrigger#uri}
    */
    readonly uri?: string;
}
export declare function cloudbuildTriggerGitFileSourceToTerraform(struct?: CloudbuildTriggerGitFileSourceOutputReference | CloudbuildTriggerGitFileSource): any;
export declare class CloudbuildTriggerGitFileSourceOutputReference 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(): CloudbuildTriggerGitFileSource | undefined;
    set internalValue(value: CloudbuildTriggerGitFileSource | undefined);
    private _path?;
    get path(): string;
    set path(value: string);
    get pathInput(): string | undefined;
    private _repoType?;
    get repoType(): string;
    set repoType(value: string);
    get repoTypeInput(): string | undefined;
    private _revision?;
    get revision(): string;
    set revision(value: string);
    resetRevision(): void;
    get revisionInput(): string | undefined;
    private _uri?;
    get uri(): string;
    set uri(value: string);
    resetUri(): void;
    get uriInput(): string | undefined;
}
export interface CloudbuildTriggerGithubPullRequest {
    /**
    * Regex of branches to match.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#branch CloudbuildTrigger#branch}
    */
    readonly branch: string;
    /**
    * Whether to block builds on a "/gcbrun" comment from a repository owner or collaborator. Possible values: ["COMMENTS_DISABLED", "COMMENTS_ENABLED", "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#comment_control CloudbuildTrigger#comment_control}
    */
    readonly commentControl?: string;
    /**
    * If true, branches that do NOT match the git_ref will trigger a build.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#invert_regex CloudbuildTrigger#invert_regex}
    */
    readonly invertRegex?: boolean | cdktf.IResolvable;
}
export declare function cloudbuildTriggerGithubPullRequestToTerraform(struct?: CloudbuildTriggerGithubPullRequestOutputReference | CloudbuildTriggerGithubPullRequest): any;
export declare class CloudbuildTriggerGithubPullRequestOutputReference 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(): CloudbuildTriggerGithubPullRequest | undefined;
    set internalValue(value: CloudbuildTriggerGithubPullRequest | undefined);
    private _branch?;
    get branch(): string;
    set branch(value: string);
    get branchInput(): string | undefined;
    private _commentControl?;
    get commentControl(): string;
    set commentControl(value: string);
    resetCommentControl(): void;
    get commentControlInput(): string | undefined;
    private _invertRegex?;
    get invertRegex(): boolean | cdktf.IResolvable;
    set invertRegex(value: boolean | cdktf.IResolvable);
    resetInvertRegex(): void;
    get invertRegexInput(): boolean | cdktf.IResolvable | undefined;
}
export interface CloudbuildTriggerGithubPush {
    /**
    * Regex of branches to match.  Specify only one of branch or tag.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#branch CloudbuildTrigger#branch}
    */
    readonly branch?: string;
    /**
    * When true, only trigger a build if the revision regex does NOT match the git_ref regex.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#invert_regex CloudbuildTrigger#invert_regex}
    */
    readonly invertRegex?: boolean | cdktf.IResolvable;
    /**
    * Regex of tags to match.  Specify only one of branch or tag.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tag CloudbuildTrigger#tag}
    */
    readonly tag?: string;
}
export declare function cloudbuildTriggerGithubPushToTerraform(struct?: CloudbuildTriggerGithubPushOutputReference | CloudbuildTriggerGithubPush): any;
export declare class CloudbuildTriggerGithubPushOutputReference 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(): CloudbuildTriggerGithubPush | undefined;
    set internalValue(value: CloudbuildTriggerGithubPush | undefined);
    private _branch?;
    get branch(): string;
    set branch(value: string);
    resetBranch(): void;
    get branchInput(): string | undefined;
    private _invertRegex?;
    get invertRegex(): boolean | cdktf.IResolvable;
    set invertRegex(value: boolean | cdktf.IResolvable);
    resetInvertRegex(): void;
    get invertRegexInput(): boolean | cdktf.IResolvable | undefined;
    private _tag?;
    get tag(): string;
    set tag(value: string);
    resetTag(): void;
    get tagInput(): string | undefined;
}
export interface CloudbuildTriggerGithub {
    /**
    * Name of the repository. For example: The name for
  https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}
    */
    readonly name?: string;
    /**
    * Owner of the repository. For example: The owner for
  https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform".
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#owner CloudbuildTrigger#owner}
    */
    readonly owner?: string;
    /**
    * pull_request block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#pull_request CloudbuildTrigger#pull_request}
    */
    readonly pullRequest?: CloudbuildTriggerGithubPullRequest;
    /**
    * push block
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#push CloudbuildTrigger#push}
    */
    readonly push?: CloudbuildTriggerGithubPush;
}
export declare function cloudbuildTriggerGithubToTerraform(struct?: CloudbuildTriggerGithubOutputReference | CloudbuildTriggerGithub): any;
export declare class CloudbuildTriggerGithubOutputReference 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(): CloudbuildTriggerGithub | undefined;
    set internalValue(value: CloudbuildTriggerGithub | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _owner?;
    get owner(): string;
    set owner(value: string);
    resetOwner(): void;
    get ownerInput(): string | undefined;
    private _pullRequest;
    get pullRequest(): CloudbuildTriggerGithubPullRequestOutputReference;
    putPullRequest(value: CloudbuildTriggerGithubPullRequest): void;
    resetPullRequest(): void;
    get pullRequestInput(): CloudbuildTriggerGithubPullRequest | undefined;
    private _push;
    get push(): CloudbuildTriggerGithubPushOutputReference;
    putPush(value: CloudbuildTriggerGithubPush): void;
    resetPush(): void;
    get pushInput(): CloudbuildTriggerGithubPush | undefined;
}
export interface CloudbuildTriggerPubsubConfig {
    /**
    * Service account that will make the push request.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#service_account_email CloudbuildTrigger#service_account_email}
    */
    readonly serviceAccountEmail?: string;
    /**
    * The name of the topic from which this subscription is receiving messages.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#topic CloudbuildTrigger#topic}
    */
    readonly topic: string;
}
export declare function cloudbuildTriggerPubsubConfigToTerraform(struct?: CloudbuildTriggerPubsubConfigOutputReference | CloudbuildTriggerPubsubConfig): any;
export declare class CloudbuildTriggerPubsubConfigOutputReference 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(): CloudbuildTriggerPubsubConfig | undefined;
    set internalValue(value: CloudbuildTriggerPubsubConfig | undefined);
    private _serviceAccountEmail?;
    get serviceAccountEmail(): string;
    set serviceAccountEmail(value: string);
    resetServiceAccountEmail(): void;
    get serviceAccountEmailInput(): string | undefined;
    get state(): string;
    get subscription(): string;
    private _topic?;
    get topic(): string;
    set topic(value: string);
    get topicInput(): string | undefined;
}
export interface CloudbuildTriggerSourceToBuild {
    /**
    * The branch or tag to use. Must start with "refs/" (required).
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#ref CloudbuildTrigger#ref}
    */
    readonly ref: string;
    /**
    * The type of the repo, since it may not be explicit from the repo field (e.g from a URL).
  Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB Possible values: ["UNKNOWN", "CLOUD_SOURCE_REPOSITORIES", "GITHUB"]
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_type CloudbuildTrigger#repo_type}
    */
    readonly repoType: string;
    /**
    * The URI of the repo (required).
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#uri CloudbuildTrigger#uri}
    */
    readonly uri: string;
}
export declare function cloudbuildTriggerSourceToBuildToTerraform(struct?: CloudbuildTriggerSourceToBuildOutputReference | CloudbuildTriggerSourceToBuild): any;
export declare class CloudbuildTriggerSourceToBuildOutputReference 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(): CloudbuildTriggerSourceToBuild | undefined;
    set internalValue(value: CloudbuildTriggerSourceToBuild | undefined);
    private _ref?;
    get ref(): string;
    set ref(value: string);
    get refInput(): string | undefined;
    private _repoType?;
    get repoType(): string;
    set repoType(value: string);
    get repoTypeInput(): string | undefined;
    private _uri?;
    get uri(): string;
    set uri(value: string);
    get uriInput(): string | undefined;
}
export interface CloudbuildTriggerTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#create CloudbuildTrigger#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#delete CloudbuildTrigger#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#update CloudbuildTrigger#update}
    */
    readonly update?: string;
}
export declare function cloudbuildTriggerTimeoutsToTerraform(struct?: CloudbuildTriggerTimeoutsOutputReference | CloudbuildTriggerTimeouts | cdktf.IResolvable): any;
export declare class CloudbuildTriggerTimeoutsOutputReference 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(): CloudbuildTriggerTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: CloudbuildTriggerTimeouts | 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 CloudbuildTriggerTriggerTemplate {
    /**
    * Name of the branch to build. Exactly one a of branch name, tag, or commit SHA must be provided.
  This field is a regular expression.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#branch_name CloudbuildTrigger#branch_name}
    */
    readonly branchName?: string;
    /**
    * Explicit commit SHA to build. Exactly one of a branch name, tag, or commit SHA must be provided.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#commit_sha CloudbuildTrigger#commit_sha}
    */
    readonly commitSha?: string;
    /**
    * Directory, relative to the source root, in which to run the build.
  
  This must be a relative path. If a step's dir is specified and
  is an absolute path, this value is ignored for that step's
  execution.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#dir CloudbuildTrigger#dir}
    */
    readonly dir?: string;
    /**
    * Only trigger a build if the revision regex does NOT match the revision regex.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#invert_regex CloudbuildTrigger#invert_regex}
    */
    readonly invertRegex?: boolean | cdktf.IResolvable;
    /**
    * ID of the project that owns the Cloud Source Repository. If
  omitted, the project ID requesting the build is assumed.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#project_id CloudbuildTrigger#project_id}
    */
    readonly projectId?: string;
    /**
    * Name of the Cloud Source Repository. If omitted, the name "default" is assumed.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_name CloudbuildTrigger#repo_name}
    */
    readonly repoName?: string;
    /**
    * Name of the tag to build. Exactly one of a branch name, tag, or commit SHA must be provided.
  This field is a regular expression.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tag_name CloudbuildTrigger#tag_name}
    */
    readonly tagName?: string;
}
export declare function cloudbuildTriggerTriggerTemplateToTerraform(struct?: CloudbuildTriggerTriggerTemplateOutputReference | CloudbuildTriggerTriggerTemplate): any;
export declare class CloudbuildTriggerTriggerTemplateOutputReference 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(): CloudbuildTriggerTriggerTemplate | undefined;
    set internalValue(value: CloudbuildTriggerTriggerTemplate | undefined);
    private _branchName?;
    get branchName(): string;
    set branchName(value: string);
    resetBranchName(): void;
    get branchNameInput(): string | undefined;
    private _commitSha?;
    get commitSha(): string;
    set commitSha(value: string);
    resetCommitSha(): void;
    get commitShaInput(): string | undefined;
    private _dir?;
    get dir(): string;
    set dir(value: string);
    resetDir(): void;
    get dirInput(): string | undefined;
    private _invertRegex?;
    get invertRegex(): boolean | cdktf.IResolvable;
    set invertRegex(value: boolean | cdktf.IResolvable);
    resetInvertRegex(): void;
    get invertRegexInput(): boolean | cdktf.IResolvable | undefined;
    private _projectId?;
    get projectId(): string;
    set projectId(value: string);
    resetProjectId(): void;
    get projectIdInput(): string | undefined;
    private _repoName?;
    get repoName(): string;
    set repoName(value: string);
    resetRepoName(): void;
    get repoNameInput(): string | undefined;
    private _tagName?;
    get tagName(): string;
    set tagName(value: string);
    resetTagName(): void;
    get tagNameInput(): string | undefined;
}
export interface CloudbuildTriggerWebhookConfig {
    /**
    * Resource name for the secret required as a URL parameter.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret CloudbuildTrigger#secret}
    */
    readonly secret: string;
}
export declare function cloudbuildTriggerWebhookConfigToTerraform(struct?: CloudbuildTriggerWebhookConfigOutputReference | CloudbuildTriggerWebhookConfig): any;
export declare class CloudbuildTriggerWebhookConfigOutputReference 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(): CloudbuildTriggerWebhookConfig | undefined;
    set internalValue(value: CloudbuildTriggerWebhookConfig | undefined);
    private _secret?;
    get secret(): string;
    set secret(value: string);
    get secretInput(): string | undefined;
    get state(): string;
}
/**
* Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger google_cloudbuild_trigger}
*/
export declare class CloudbuildTrigger extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_cloudbuild_trigger";
    /**
    * Create a new {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger google_cloudbuild_trigger} 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 CloudbuildTriggerConfig = {}
    */
    constructor(scope: Construct, id: string, config?: CloudbuildTriggerConfig);
    get createTime(): string;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _disabled?;
    get disabled(): boolean | cdktf.IResolvable;
    set disabled(value: boolean | cdktf.IResolvable);
    resetDisabled(): void;
    get disabledInput(): boolean | cdktf.IResolvable | undefined;
    private _filename?;
    get filename(): string;
    set filename(value: string);
    resetFilename(): void;
    get filenameInput(): string | undefined;
    private _filter?;
    get filter(): string;
    set filter(value: string);
    resetFilter(): void;
    get filterInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _ignoredFiles?;
    get ignoredFiles(): string[];
    set ignoredFiles(value: string[]);
    resetIgnoredFiles(): void;
    get ignoredFilesInput(): string[] | undefined;
    private _includeBuildLogs?;
    get includeBuildLogs(): string;
    set includeBuildLogs(value: string);
    resetIncludeBuildLogs(): void;
    get includeBuildLogsInput(): string | undefined;
    private _includedFiles?;
    get includedFiles(): string[];
    set includedFiles(value: string[]);
    resetIncludedFiles(): void;
    get includedFilesInput(): string[] | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    private _serviceAccount?;
    get serviceAccount(): string;
    set serviceAccount(value: string);
    resetServiceAccount(): void;
    get serviceAccountInput(): string | undefined;
    private _substitutions?;
    get substitutions(): {
        [key: string]: string;
    };
    set substitutions(value: {
        [key: string]: string;
    });
    resetSubstitutions(): void;
    get substitutionsInput(): {
        [key: string]: string;
    } | undefined;
    private _tags?;
    get tags(): string[];
    set tags(value: string[]);
    resetTags(): void;
    get tagsInput(): string[] | undefined;
    get triggerId(): string;
    private _approvalConfig;
    get approvalConfig(): CloudbuildTriggerApprovalConfigOutputReference;
    putApprovalConfig(value: CloudbuildTriggerApprovalConfig): void;
    resetApprovalConfig(): void;
    get approvalConfigInput(): CloudbuildTriggerApprovalConfig | undefined;
    private _build;
    get buildAttribute(): CloudbuildTriggerBuildOutputReference;
    putBuildAttribute(value: CloudbuildTriggerBuild): void;
    resetBuildAttribute(): void;
    get buildAttributeInput(): CloudbuildTriggerBuild | undefined;
    private _gitFileSource;
    get gitFileSource(): CloudbuildTriggerGitFileSourceOutputReference;
    putGitFileSource(value: CloudbuildTriggerGitFileSource): void;
    resetGitFileSource(): void;
    get gitFileSourceInput(): CloudbuildTriggerGitFileSource | undefined;
    private _github;
    get github(): CloudbuildTriggerGithubOutputReference;
    putGithub(value: CloudbuildTriggerGithub): void;
    resetGithub(): void;
    get githubInput(): CloudbuildTriggerGithub | undefined;
    private _pubsubConfig;
    get pubsubConfig(): CloudbuildTriggerPubsubConfigOutputReference;
    putPubsubConfig(value: CloudbuildTriggerPubsubConfig): void;
    resetPubsubConfig(): void;
    get pubsubConfigInput(): CloudbuildTriggerPubsubConfig | undefined;
    private _sourceToBuild;
    get sourceToBuild(): CloudbuildTriggerSourceToBuildOutputReference;
    putSourceToBuild(value: CloudbuildTriggerSourceToBuild): void;
    resetSourceToBuild(): void;
    get sourceToBuildInput(): CloudbuildTriggerSourceToBuild | undefined;
    private _timeouts;
    get timeouts(): CloudbuildTriggerTimeoutsOutputReference;
    putTimeouts(value: CloudbuildTriggerTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | CloudbuildTriggerTimeouts | undefined;
    private _triggerTemplate;
    get triggerTemplate(): CloudbuildTriggerTriggerTemplateOutputReference;
    putTriggerTemplate(value: CloudbuildTriggerTriggerTemplate): void;
    resetTriggerTemplate(): void;
    get triggerTemplateInput(): CloudbuildTriggerTriggerTemplate | undefined;
    private _webhookConfig;
    get webhookConfig(): CloudbuildTriggerWebhookConfigOutputReference;
    putWebhookConfig(value: CloudbuildTriggerWebhookConfig): void;
    resetWebhookConfig(): void;
    get webhookConfigInput(): CloudbuildTriggerWebhookConfig | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
}
