/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DatabaseMigrationServiceConnectionProfileConfig extends cdktf.TerraformMetaArguments {
    /**
    * The ID of the connection profile.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#connection_profile_id DatabaseMigrationServiceConnectionProfile#connection_profile_id}
    */
    readonly connectionProfileId: string;
    /**
    * The connection profile display name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#display_name DatabaseMigrationServiceConnectionProfile#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#id DatabaseMigrationServiceConnectionProfile#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 resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.
    *
    *
    * **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.13.0/docs/resources/database_migration_service_connection_profile#labels DatabaseMigrationServiceConnectionProfile#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * The location where the connection profile should reside.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#location DatabaseMigrationServiceConnectionProfile#location}
    */
    readonly location?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#project DatabaseMigrationServiceConnectionProfile#project}
    */
    readonly project?: string;
    /**
    * alloydb block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#alloydb DatabaseMigrationServiceConnectionProfile#alloydb}
    */
    readonly alloydb?: DatabaseMigrationServiceConnectionProfileAlloydb;
    /**
    * cloudsql block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#cloudsql DatabaseMigrationServiceConnectionProfile#cloudsql}
    */
    readonly cloudsql?: DatabaseMigrationServiceConnectionProfileCloudsql;
    /**
    * mysql block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#mysql DatabaseMigrationServiceConnectionProfile#mysql}
    */
    readonly mysql?: DatabaseMigrationServiceConnectionProfileMysql;
    /**
    * oracle block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#oracle DatabaseMigrationServiceConnectionProfile#oracle}
    */
    readonly oracle?: DatabaseMigrationServiceConnectionProfileOracle;
    /**
    * postgresql block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#postgresql DatabaseMigrationServiceConnectionProfile#postgresql}
    */
    readonly postgresql?: DatabaseMigrationServiceConnectionProfilePostgresql;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#timeouts DatabaseMigrationServiceConnectionProfile#timeouts}
    */
    readonly timeouts?: DatabaseMigrationServiceConnectionProfileTimeouts;
}
export interface DatabaseMigrationServiceConnectionProfileError {
}
export declare function databaseMigrationServiceConnectionProfileErrorToTerraform(struct?: DatabaseMigrationServiceConnectionProfileError): any;
export declare function databaseMigrationServiceConnectionProfileErrorToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileError): any;
export declare class DatabaseMigrationServiceConnectionProfileErrorOutputReference 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(): DatabaseMigrationServiceConnectionProfileError | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileError | undefined);
    get code(): number;
    private _details;
    get details(): cdktf.StringMapList;
    get message(): string;
}
export declare class DatabaseMigrationServiceConnectionProfileErrorList 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): DatabaseMigrationServiceConnectionProfileErrorOutputReference;
}
export interface DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUser {
    /**
    * The initial password for the user.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#password DatabaseMigrationServiceConnectionProfile#password}
    */
    readonly password: string;
    /**
    * The database username.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#user DatabaseMigrationServiceConnectionProfile#user}
    */
    readonly user: string;
}
export declare function databaseMigrationServiceConnectionProfileAlloydbSettingsInitialUserToTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUserOutputReference | DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUser): any;
export declare function databaseMigrationServiceConnectionProfileAlloydbSettingsInitialUserToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUserOutputReference | DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUser): any;
export declare class DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUserOutputReference 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(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUser | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUser | undefined);
    private _password?;
    get password(): string;
    set password(value: string);
    get passwordInput(): string | undefined;
    get passwordSet(): cdktf.IResolvable;
    private _user?;
    get user(): string;
    set user(value: string);
    get userInput(): string | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig {
    /**
    * The number of CPU's in the VM instance.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#cpu_count DatabaseMigrationServiceConnectionProfile#cpu_count}
    */
    readonly cpuCount: number;
}
export declare function databaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigToTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigOutputReference | DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig): any;
export declare function databaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigOutputReference | DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig): any;
export declare class DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigOutputReference 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(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig | undefined);
    private _cpuCount?;
    get cpuCount(): number;
    set cpuCount(value: number);
    get cpuCountInput(): number | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettings {
    /**
    * Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster and instances. See the AlloyDB documentation for how these can be used.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#database_flags DatabaseMigrationServiceConnectionProfile#database_flags}
    */
    readonly databaseFlags?: {
        [key: string]: string;
    };
    /**
    * The database username.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#id DatabaseMigrationServiceConnectionProfile#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;
    /**
    * Labels for the AlloyDB primary instance created by DMS.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#labels DatabaseMigrationServiceConnectionProfile#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * machine_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#machine_config DatabaseMigrationServiceConnectionProfile#machine_config}
    */
    readonly machineConfig: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig;
}
export declare function databaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsToTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsOutputReference | DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettings): any;
export declare function databaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsOutputReference | DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettings): any;
export declare class DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsOutputReference 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(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettings | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettings | undefined);
    private _databaseFlags?;
    get databaseFlags(): {
        [key: string]: string;
    };
    set databaseFlags(value: {
        [key: string]: string;
    });
    resetDatabaseFlags(): void;
    get databaseFlagsInput(): {
        [key: string]: string;
    } | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    get idInput(): string | undefined;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    get privateIp(): string;
    private _machineConfig;
    get machineConfig(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigOutputReference;
    putMachineConfig(value: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig): void;
    get machineConfigInput(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileAlloydbSettings {
    /**
    * Labels for the AlloyDB cluster created by DMS.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#labels DatabaseMigrationServiceConnectionProfile#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster.
    * It is specified in the form: 'projects/{project_number}/global/networks/{network_id}'. This is required to create a cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#vpc_network DatabaseMigrationServiceConnectionProfile#vpc_network}
    */
    readonly vpcNetwork: string;
    /**
    * initial_user block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#initial_user DatabaseMigrationServiceConnectionProfile#initial_user}
    */
    readonly initialUser: DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUser;
    /**
    * primary_instance_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#primary_instance_settings DatabaseMigrationServiceConnectionProfile#primary_instance_settings}
    */
    readonly primaryInstanceSettings?: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettings;
}
export declare function databaseMigrationServiceConnectionProfileAlloydbSettingsToTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbSettingsOutputReference | DatabaseMigrationServiceConnectionProfileAlloydbSettings): any;
export declare function databaseMigrationServiceConnectionProfileAlloydbSettingsToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbSettingsOutputReference | DatabaseMigrationServiceConnectionProfileAlloydbSettings): any;
export declare class DatabaseMigrationServiceConnectionProfileAlloydbSettingsOutputReference 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(): DatabaseMigrationServiceConnectionProfileAlloydbSettings | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileAlloydbSettings | undefined);
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _vpcNetwork?;
    get vpcNetwork(): string;
    set vpcNetwork(value: string);
    get vpcNetworkInput(): string | undefined;
    private _initialUser;
    get initialUser(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUserOutputReference;
    putInitialUser(value: DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUser): void;
    get initialUserInput(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsInitialUser | undefined;
    private _primaryInstanceSettings;
    get primaryInstanceSettings(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettingsOutputReference;
    putPrimaryInstanceSettings(value: DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettings): void;
    resetPrimaryInstanceSettings(): void;
    get primaryInstanceSettingsInput(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsPrimaryInstanceSettings | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileAlloydb {
    /**
    * Required. The AlloyDB cluster ID that this connection profile is associated with.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#cluster_id DatabaseMigrationServiceConnectionProfile#cluster_id}
    */
    readonly clusterId: string;
    /**
    * settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#settings DatabaseMigrationServiceConnectionProfile#settings}
    */
    readonly settings?: DatabaseMigrationServiceConnectionProfileAlloydbSettings;
}
export declare function databaseMigrationServiceConnectionProfileAlloydbToTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbOutputReference | DatabaseMigrationServiceConnectionProfileAlloydb): any;
export declare function databaseMigrationServiceConnectionProfileAlloydbToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileAlloydbOutputReference | DatabaseMigrationServiceConnectionProfileAlloydb): any;
export declare class DatabaseMigrationServiceConnectionProfileAlloydbOutputReference 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(): DatabaseMigrationServiceConnectionProfileAlloydb | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileAlloydb | undefined);
    private _clusterId?;
    get clusterId(): string;
    set clusterId(value: string);
    get clusterIdInput(): string | undefined;
    private _settings;
    get settings(): DatabaseMigrationServiceConnectionProfileAlloydbSettingsOutputReference;
    putSettings(value: DatabaseMigrationServiceConnectionProfileAlloydbSettings): void;
    resetSettings(): void;
    get settingsInput(): DatabaseMigrationServiceConnectionProfileAlloydbSettings | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworks {
    /**
    * The time when this access control entry expires in RFC 3339 format.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#expire_time DatabaseMigrationServiceConnectionProfile#expire_time}
    */
    readonly expireTime?: string;
    /**
    * A label to identify this entry.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#label DatabaseMigrationServiceConnectionProfile#label}
    */
    readonly label?: string;
    /**
    * Input only. The time-to-leave of this access control entry.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#ttl DatabaseMigrationServiceConnectionProfile#ttl}
    */
    readonly ttl?: string;
    /**
    * The allowlisted value for the access control list.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#value DatabaseMigrationServiceConnectionProfile#value}
    */
    readonly value: string;
}
export declare function databaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworksToTerraform(struct?: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworks | cdktf.IResolvable): any;
export declare function databaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworksToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworks | cdktf.IResolvable): any;
export declare class DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworksOutputReference 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(): DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworks | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworks | cdktf.IResolvable | undefined);
    private _expireTime?;
    get expireTime(): string;
    set expireTime(value: string);
    resetExpireTime(): void;
    get expireTimeInput(): string | undefined;
    private _label?;
    get label(): string;
    set label(value: string);
    resetLabel(): void;
    get labelInput(): string | undefined;
    private _ttl?;
    get ttl(): string;
    set ttl(value: string);
    resetTtl(): void;
    get ttlInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    get valueInput(): string | undefined;
}
export declare class DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworksList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworks[] | 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): DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworksOutputReference;
}
export interface DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfig {
    /**
    * Whether the instance should be assigned an IPv4 address or not.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#enable_ipv4 DatabaseMigrationServiceConnectionProfile#enable_ipv4}
    */
    readonly enableIpv4?: boolean | cdktf.IResolvable;
    /**
    * The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default.
    * This setting can be updated, but it cannot be removed after it is set.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#private_network DatabaseMigrationServiceConnectionProfile#private_network}
    */
    readonly privateNetwork?: string;
    /**
    * Whether SSL connections over IP should be enforced or not.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#require_ssl DatabaseMigrationServiceConnectionProfile#require_ssl}
    */
    readonly requireSsl?: boolean | cdktf.IResolvable;
    /**
    * authorized_networks block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#authorized_networks DatabaseMigrationServiceConnectionProfile#authorized_networks}
    */
    readonly authorizedNetworks?: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworks[] | cdktf.IResolvable;
}
export declare function databaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigToTerraform(struct?: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigOutputReference | DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfig): any;
export declare function databaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigOutputReference | DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfig): any;
export declare class DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigOutputReference 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(): DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfig | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfig | undefined);
    private _enableIpv4?;
    get enableIpv4(): boolean | cdktf.IResolvable;
    set enableIpv4(value: boolean | cdktf.IResolvable);
    resetEnableIpv4(): void;
    get enableIpv4Input(): boolean | cdktf.IResolvable | undefined;
    private _privateNetwork?;
    get privateNetwork(): string;
    set privateNetwork(value: string);
    resetPrivateNetwork(): void;
    get privateNetworkInput(): string | undefined;
    private _requireSsl?;
    get requireSsl(): boolean | cdktf.IResolvable;
    set requireSsl(value: boolean | cdktf.IResolvable);
    resetRequireSsl(): void;
    get requireSslInput(): boolean | cdktf.IResolvable | undefined;
    private _authorizedNetworks;
    get authorizedNetworks(): DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworksList;
    putAuthorizedNetworks(value: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworks[] | cdktf.IResolvable): void;
    resetAuthorizedNetworks(): void;
    get authorizedNetworksInput(): cdktf.IResolvable | DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworks[] | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileCloudsqlSettings {
    /**
    * The activation policy specifies when the instance is activated; it is applicable only when the instance state is 'RUNNABLE'. Possible values: ["ALWAYS", "NEVER"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#activation_policy DatabaseMigrationServiceConnectionProfile#activation_policy}
    */
    readonly activationPolicy?: string;
    /**
    * If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity.
    * If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#auto_storage_increase DatabaseMigrationServiceConnectionProfile#auto_storage_increase}
    */
    readonly autoStorageIncrease?: boolean | cdktf.IResolvable;
    /**
    * The KMS key name used for the csql instance.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#cmek_key_name DatabaseMigrationServiceConnectionProfile#cmek_key_name}
    */
    readonly cmekKeyName?: string;
    /**
    * The Cloud SQL default instance level collation.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#collation DatabaseMigrationServiceConnectionProfile#collation}
    */
    readonly collation?: string;
    /**
    * The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#data_disk_size_gb DatabaseMigrationServiceConnectionProfile#data_disk_size_gb}
    */
    readonly dataDiskSizeGb?: string;
    /**
    * The type of storage. Possible values: ["PD_SSD", "PD_HDD"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#data_disk_type DatabaseMigrationServiceConnectionProfile#data_disk_type}
    */
    readonly dataDiskType?: string;
    /**
    * The database flags passed to the Cloud SQL instance at startup.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#database_flags DatabaseMigrationServiceConnectionProfile#database_flags}
    */
    readonly databaseFlags?: {
        [key: string]: string;
    };
    /**
    * The database engine type and version.
    * Currently supported values located at https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.connectionProfiles#sqldatabaseversion
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#database_version DatabaseMigrationServiceConnectionProfile#database_version}
    */
    readonly databaseVersion?: string;
    /**
    * The edition of the given Cloud SQL instance. Possible values: ["ENTERPRISE", "ENTERPRISE_PLUS"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#edition DatabaseMigrationServiceConnectionProfile#edition}
    */
    readonly edition?: string;
    /**
    * Input only. Initial root password.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#root_password DatabaseMigrationServiceConnectionProfile#root_password}
    */
    readonly rootPassword?: string;
    /**
    * The Database Migration Service source connection profile ID, in the format: projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#source_id DatabaseMigrationServiceConnectionProfile#source_id}
    */
    readonly sourceId: string;
    /**
    * The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#storage_auto_resize_limit DatabaseMigrationServiceConnectionProfile#storage_auto_resize_limit}
    */
    readonly storageAutoResizeLimit?: string;
    /**
    * The tier (or machine type) for this instance, for example: db-n1-standard-1 (MySQL instances) or db-custom-1-3840 (PostgreSQL instances).
    * For more information, see https://cloud.google.com/sql/docs/mysql/instance-settings
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#tier DatabaseMigrationServiceConnectionProfile#tier}
    */
    readonly tier?: string;
    /**
    * The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#user_labels DatabaseMigrationServiceConnectionProfile#user_labels}
    */
    readonly userLabels?: {
        [key: string]: string;
    };
    /**
    * The Google Cloud Platform zone where your Cloud SQL datdabse instance is located.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#zone DatabaseMigrationServiceConnectionProfile#zone}
    */
    readonly zone?: string;
    /**
    * ip_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#ip_config DatabaseMigrationServiceConnectionProfile#ip_config}
    */
    readonly ipConfig?: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfig;
}
export declare function databaseMigrationServiceConnectionProfileCloudsqlSettingsToTerraform(struct?: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsOutputReference | DatabaseMigrationServiceConnectionProfileCloudsqlSettings): any;
export declare function databaseMigrationServiceConnectionProfileCloudsqlSettingsToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsOutputReference | DatabaseMigrationServiceConnectionProfileCloudsqlSettings): any;
export declare class DatabaseMigrationServiceConnectionProfileCloudsqlSettingsOutputReference 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(): DatabaseMigrationServiceConnectionProfileCloudsqlSettings | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileCloudsqlSettings | undefined);
    private _activationPolicy?;
    get activationPolicy(): string;
    set activationPolicy(value: string);
    resetActivationPolicy(): void;
    get activationPolicyInput(): string | undefined;
    private _autoStorageIncrease?;
    get autoStorageIncrease(): boolean | cdktf.IResolvable;
    set autoStorageIncrease(value: boolean | cdktf.IResolvable);
    resetAutoStorageIncrease(): void;
    get autoStorageIncreaseInput(): boolean | cdktf.IResolvable | undefined;
    private _cmekKeyName?;
    get cmekKeyName(): string;
    set cmekKeyName(value: string);
    resetCmekKeyName(): void;
    get cmekKeyNameInput(): string | undefined;
    private _collation?;
    get collation(): string;
    set collation(value: string);
    resetCollation(): void;
    get collationInput(): string | undefined;
    private _dataDiskSizeGb?;
    get dataDiskSizeGb(): string;
    set dataDiskSizeGb(value: string);
    resetDataDiskSizeGb(): void;
    get dataDiskSizeGbInput(): string | undefined;
    private _dataDiskType?;
    get dataDiskType(): string;
    set dataDiskType(value: string);
    resetDataDiskType(): void;
    get dataDiskTypeInput(): string | undefined;
    private _databaseFlags?;
    get databaseFlags(): {
        [key: string]: string;
    };
    set databaseFlags(value: {
        [key: string]: string;
    });
    resetDatabaseFlags(): void;
    get databaseFlagsInput(): {
        [key: string]: string;
    } | undefined;
    private _databaseVersion?;
    get databaseVersion(): string;
    set databaseVersion(value: string);
    resetDatabaseVersion(): void;
    get databaseVersionInput(): string | undefined;
    private _edition?;
    get edition(): string;
    set edition(value: string);
    resetEdition(): void;
    get editionInput(): string | undefined;
    private _rootPassword?;
    get rootPassword(): string;
    set rootPassword(value: string);
    resetRootPassword(): void;
    get rootPasswordInput(): string | undefined;
    get rootPasswordSet(): cdktf.IResolvable;
    private _sourceId?;
    get sourceId(): string;
    set sourceId(value: string);
    get sourceIdInput(): string | undefined;
    private _storageAutoResizeLimit?;
    get storageAutoResizeLimit(): string;
    set storageAutoResizeLimit(value: string);
    resetStorageAutoResizeLimit(): void;
    get storageAutoResizeLimitInput(): string | undefined;
    private _tier?;
    get tier(): string;
    set tier(value: string);
    resetTier(): void;
    get tierInput(): string | undefined;
    private _userLabels?;
    get userLabels(): {
        [key: string]: string;
    };
    set userLabels(value: {
        [key: string]: string;
    });
    resetUserLabels(): void;
    get userLabelsInput(): {
        [key: string]: string;
    } | undefined;
    private _zone?;
    get zone(): string;
    set zone(value: string);
    resetZone(): void;
    get zoneInput(): string | undefined;
    private _ipConfig;
    get ipConfig(): DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfigOutputReference;
    putIpConfig(value: DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfig): void;
    resetIpConfig(): void;
    get ipConfigInput(): DatabaseMigrationServiceConnectionProfileCloudsqlSettingsIpConfig | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileCloudsql {
    /**
    * settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#settings DatabaseMigrationServiceConnectionProfile#settings}
    */
    readonly settings?: DatabaseMigrationServiceConnectionProfileCloudsqlSettings;
}
export declare function databaseMigrationServiceConnectionProfileCloudsqlToTerraform(struct?: DatabaseMigrationServiceConnectionProfileCloudsqlOutputReference | DatabaseMigrationServiceConnectionProfileCloudsql): any;
export declare function databaseMigrationServiceConnectionProfileCloudsqlToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileCloudsqlOutputReference | DatabaseMigrationServiceConnectionProfileCloudsql): any;
export declare class DatabaseMigrationServiceConnectionProfileCloudsqlOutputReference 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(): DatabaseMigrationServiceConnectionProfileCloudsql | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileCloudsql | undefined);
    get cloudSqlId(): string;
    get privateIp(): string;
    get publicIp(): string;
    private _settings;
    get settings(): DatabaseMigrationServiceConnectionProfileCloudsqlSettingsOutputReference;
    putSettings(value: DatabaseMigrationServiceConnectionProfileCloudsqlSettings): void;
    resetSettings(): void;
    get settingsInput(): DatabaseMigrationServiceConnectionProfileCloudsqlSettings | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileMysqlSsl {
    /**
    * Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate.
    * The replica will use this certificate to verify it's connecting to the right host.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#ca_certificate DatabaseMigrationServiceConnectionProfile#ca_certificate}
    */
    readonly caCertificate: string;
    /**
    * Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server.
    * If this field is used then the 'clientKey' field is mandatory
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#client_certificate DatabaseMigrationServiceConnectionProfile#client_certificate}
    */
    readonly clientCertificate?: string;
    /**
    * Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate.
    * If this field is used then the 'clientCertificate' field is mandatory.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#client_key DatabaseMigrationServiceConnectionProfile#client_key}
    */
    readonly clientKey?: string;
}
export declare function databaseMigrationServiceConnectionProfileMysqlSslToTerraform(struct?: DatabaseMigrationServiceConnectionProfileMysqlSslOutputReference | DatabaseMigrationServiceConnectionProfileMysqlSsl): any;
export declare function databaseMigrationServiceConnectionProfileMysqlSslToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileMysqlSslOutputReference | DatabaseMigrationServiceConnectionProfileMysqlSsl): any;
export declare class DatabaseMigrationServiceConnectionProfileMysqlSslOutputReference 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(): DatabaseMigrationServiceConnectionProfileMysqlSsl | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileMysqlSsl | undefined);
    private _caCertificate?;
    get caCertificate(): string;
    set caCertificate(value: string);
    get caCertificateInput(): string | undefined;
    private _clientCertificate?;
    get clientCertificate(): string;
    set clientCertificate(value: string);
    resetClientCertificate(): void;
    get clientCertificateInput(): string | undefined;
    private _clientKey?;
    get clientKey(): string;
    set clientKey(value: string);
    resetClientKey(): void;
    get clientKeyInput(): string | undefined;
    get type(): string;
}
export interface DatabaseMigrationServiceConnectionProfileMysql {
    /**
    * If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#cloud_sql_id DatabaseMigrationServiceConnectionProfile#cloud_sql_id}
    */
    readonly cloudSqlId?: string;
    /**
    * The IP or hostname of the source MySQL database.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#host DatabaseMigrationServiceConnectionProfile#host}
    */
    readonly host?: string;
    /**
    * Input only. The password for the user that Database Migration Service will be using to connect to the database.
    * This field is not returned on request, and the value is encrypted when stored in Database Migration Service.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#password DatabaseMigrationServiceConnectionProfile#password}
    */
    readonly password?: string;
    /**
    * The network port of the source MySQL database.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#port DatabaseMigrationServiceConnectionProfile#port}
    */
    readonly port?: number;
    /**
    * The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#username DatabaseMigrationServiceConnectionProfile#username}
    */
    readonly username?: string;
    /**
    * ssl block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#ssl DatabaseMigrationServiceConnectionProfile#ssl}
    */
    readonly ssl?: DatabaseMigrationServiceConnectionProfileMysqlSsl;
}
export declare function databaseMigrationServiceConnectionProfileMysqlToTerraform(struct?: DatabaseMigrationServiceConnectionProfileMysqlOutputReference | DatabaseMigrationServiceConnectionProfileMysql): any;
export declare function databaseMigrationServiceConnectionProfileMysqlToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileMysqlOutputReference | DatabaseMigrationServiceConnectionProfileMysql): any;
export declare class DatabaseMigrationServiceConnectionProfileMysqlOutputReference 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(): DatabaseMigrationServiceConnectionProfileMysql | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileMysql | undefined);
    private _cloudSqlId?;
    get cloudSqlId(): string;
    set cloudSqlId(value: string);
    resetCloudSqlId(): void;
    get cloudSqlIdInput(): string | undefined;
    private _host?;
    get host(): string;
    set host(value: string);
    resetHost(): void;
    get hostInput(): string | undefined;
    private _password?;
    get password(): string;
    set password(value: string);
    resetPassword(): void;
    get passwordInput(): string | undefined;
    get passwordSet(): cdktf.IResolvable;
    private _port?;
    get port(): number;
    set port(value: number);
    resetPort(): void;
    get portInput(): number | undefined;
    private _username?;
    get username(): string;
    set username(value: string);
    resetUsername(): void;
    get usernameInput(): string | undefined;
    private _ssl;
    get ssl(): DatabaseMigrationServiceConnectionProfileMysqlSslOutputReference;
    putSsl(value: DatabaseMigrationServiceConnectionProfileMysqlSsl): void;
    resetSsl(): void;
    get sslInput(): DatabaseMigrationServiceConnectionProfileMysqlSsl | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivity {
    /**
    * Required. Hostname for the SSH tunnel.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#hostname DatabaseMigrationServiceConnectionProfile#hostname}
    */
    readonly hostname: string;
    /**
    * Input only. SSH password. Only one of 'password' and 'private_key' can be configured.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#password DatabaseMigrationServiceConnectionProfile#password}
    */
    readonly password?: string;
    /**
    * Port for the SSH tunnel, default value is 22.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#port DatabaseMigrationServiceConnectionProfile#port}
    */
    readonly port: number;
    /**
    * Input only. SSH private key. Only one of 'password' and 'private_key' can be configured.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#private_key DatabaseMigrationServiceConnectionProfile#private_key}
    */
    readonly privateKey?: string;
    /**
    * Required. Username for the SSH tunnel.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#username DatabaseMigrationServiceConnectionProfile#username}
    */
    readonly username: string;
}
export declare function databaseMigrationServiceConnectionProfileOracleForwardSshConnectivityToTerraform(struct?: DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivityOutputReference | DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivity): any;
export declare function databaseMigrationServiceConnectionProfileOracleForwardSshConnectivityToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivityOutputReference | DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivity): any;
export declare class DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivityOutputReference 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(): DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivity | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivity | undefined);
    private _hostname?;
    get hostname(): string;
    set hostname(value: string);
    get hostnameInput(): string | undefined;
    private _password?;
    get password(): string;
    set password(value: string);
    resetPassword(): void;
    get passwordInput(): string | undefined;
    private _port?;
    get port(): number;
    set port(value: number);
    get portInput(): number | undefined;
    private _privateKey?;
    get privateKey(): string;
    set privateKey(value: string);
    resetPrivateKey(): void;
    get privateKeyInput(): string | undefined;
    private _username?;
    get username(): string;
    set username(value: string);
    get usernameInput(): string | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivity {
    /**
    * Required. The resource name (URI) of the private connection.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#private_connection DatabaseMigrationServiceConnectionProfile#private_connection}
    */
    readonly privateConnection: string;
}
export declare function databaseMigrationServiceConnectionProfileOraclePrivateConnectivityToTerraform(struct?: DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivityOutputReference | DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivity): any;
export declare function databaseMigrationServiceConnectionProfileOraclePrivateConnectivityToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivityOutputReference | DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivity): any;
export declare class DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivityOutputReference 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(): DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivity | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivity | undefined);
    private _privateConnection?;
    get privateConnection(): string;
    set privateConnection(value: string);
    get privateConnectionInput(): string | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileOracleSsl {
    /**
    * Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate.
    * The replica will use this certificate to verify it's connecting to the right host.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#ca_certificate DatabaseMigrationServiceConnectionProfile#ca_certificate}
    */
    readonly caCertificate: string;
    /**
    * Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server.
    * If this field is used then the 'clientKey' field is mandatory
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#client_certificate DatabaseMigrationServiceConnectionProfile#client_certificate}
    */
    readonly clientCertificate?: string;
    /**
    * Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate.
    * If this field is used then the 'clientCertificate' field is mandatory.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#client_key DatabaseMigrationServiceConnectionProfile#client_key}
    */
    readonly clientKey?: string;
}
export declare function databaseMigrationServiceConnectionProfileOracleSslToTerraform(struct?: DatabaseMigrationServiceConnectionProfileOracleSslOutputReference | DatabaseMigrationServiceConnectionProfileOracleSsl): any;
export declare function databaseMigrationServiceConnectionProfileOracleSslToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileOracleSslOutputReference | DatabaseMigrationServiceConnectionProfileOracleSsl): any;
export declare class DatabaseMigrationServiceConnectionProfileOracleSslOutputReference 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(): DatabaseMigrationServiceConnectionProfileOracleSsl | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileOracleSsl | undefined);
    private _caCertificate?;
    get caCertificate(): string;
    set caCertificate(value: string);
    get caCertificateInput(): string | undefined;
    private _clientCertificate?;
    get clientCertificate(): string;
    set clientCertificate(value: string);
    resetClientCertificate(): void;
    get clientCertificateInput(): string | undefined;
    private _clientKey?;
    get clientKey(): string;
    set clientKey(value: string);
    resetClientKey(): void;
    get clientKeyInput(): string | undefined;
    get type(): string;
}
export interface DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivity {
}
export declare function databaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivityToTerraform(struct?: DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivityOutputReference | DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivity): any;
export declare function databaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivityToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivityOutputReference | DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivity): any;
export declare class DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivityOutputReference 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(): DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivity | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivity | undefined);
}
export interface DatabaseMigrationServiceConnectionProfileOracle {
    /**
    * Required. Database service for the Oracle connection.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#database_service DatabaseMigrationServiceConnectionProfile#database_service}
    */
    readonly databaseService: string;
    /**
    * Required. The IP or hostname of the source Oracle database.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#host DatabaseMigrationServiceConnectionProfile#host}
    */
    readonly host: string;
    /**
    * Required. Input only. The password for the user that Database Migration Service will be using to connect to the database.
    * This field is not returned on request, and the value is encrypted when stored in Database Migration Service.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#password DatabaseMigrationServiceConnectionProfile#password}
    */
    readonly password: string;
    /**
    * Required. The network port of the source Oracle database.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#port DatabaseMigrationServiceConnectionProfile#port}
    */
    readonly port: number;
    /**
    * Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#username DatabaseMigrationServiceConnectionProfile#username}
    */
    readonly username: string;
    /**
    * forward_ssh_connectivity block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#forward_ssh_connectivity DatabaseMigrationServiceConnectionProfile#forward_ssh_connectivity}
    */
    readonly forwardSshConnectivity?: DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivity;
    /**
    * private_connectivity block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#private_connectivity DatabaseMigrationServiceConnectionProfile#private_connectivity}
    */
    readonly privateConnectivity?: DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivity;
    /**
    * ssl block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#ssl DatabaseMigrationServiceConnectionProfile#ssl}
    */
    readonly ssl?: DatabaseMigrationServiceConnectionProfileOracleSsl;
    /**
    * static_service_ip_connectivity block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#static_service_ip_connectivity DatabaseMigrationServiceConnectionProfile#static_service_ip_connectivity}
    */
    readonly staticServiceIpConnectivity?: DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivity;
}
export declare function databaseMigrationServiceConnectionProfileOracleToTerraform(struct?: DatabaseMigrationServiceConnectionProfileOracleOutputReference | DatabaseMigrationServiceConnectionProfileOracle): any;
export declare function databaseMigrationServiceConnectionProfileOracleToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileOracleOutputReference | DatabaseMigrationServiceConnectionProfileOracle): any;
export declare class DatabaseMigrationServiceConnectionProfileOracleOutputReference 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(): DatabaseMigrationServiceConnectionProfileOracle | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileOracle | undefined);
    private _databaseService?;
    get databaseService(): string;
    set databaseService(value: string);
    get databaseServiceInput(): string | undefined;
    private _host?;
    get host(): string;
    set host(value: string);
    get hostInput(): string | undefined;
    private _password?;
    get password(): string;
    set password(value: string);
    get passwordInput(): string | undefined;
    get passwordSet(): cdktf.IResolvable;
    private _port?;
    get port(): number;
    set port(value: number);
    get portInput(): number | undefined;
    private _username?;
    get username(): string;
    set username(value: string);
    get usernameInput(): string | undefined;
    private _forwardSshConnectivity;
    get forwardSshConnectivity(): DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivityOutputReference;
    putForwardSshConnectivity(value: DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivity): void;
    resetForwardSshConnectivity(): void;
    get forwardSshConnectivityInput(): DatabaseMigrationServiceConnectionProfileOracleForwardSshConnectivity | undefined;
    private _privateConnectivity;
    get privateConnectivity(): DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivityOutputReference;
    putPrivateConnectivity(value: DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivity): void;
    resetPrivateConnectivity(): void;
    get privateConnectivityInput(): DatabaseMigrationServiceConnectionProfileOraclePrivateConnectivity | undefined;
    private _ssl;
    get ssl(): DatabaseMigrationServiceConnectionProfileOracleSslOutputReference;
    putSsl(value: DatabaseMigrationServiceConnectionProfileOracleSsl): void;
    resetSsl(): void;
    get sslInput(): DatabaseMigrationServiceConnectionProfileOracleSsl | undefined;
    private _staticServiceIpConnectivity;
    get staticServiceIpConnectivity(): DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivityOutputReference;
    putStaticServiceIpConnectivity(value: DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivity): void;
    resetStaticServiceIpConnectivity(): void;
    get staticServiceIpConnectivityInput(): DatabaseMigrationServiceConnectionProfileOracleStaticServiceIpConnectivity | undefined;
}
export interface DatabaseMigrationServiceConnectionProfilePostgresqlSsl {
    /**
    * Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate.
    * The replica will use this certificate to verify it's connecting to the right host.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#ca_certificate DatabaseMigrationServiceConnectionProfile#ca_certificate}
    */
    readonly caCertificate: string;
    /**
    * Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server.
    * If this field is used then the 'clientKey' field is mandatory
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#client_certificate DatabaseMigrationServiceConnectionProfile#client_certificate}
    */
    readonly clientCertificate?: string;
    /**
    * Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate.
    * If this field is used then the 'clientCertificate' field is mandatory.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#client_key DatabaseMigrationServiceConnectionProfile#client_key}
    */
    readonly clientKey?: string;
}
export declare function databaseMigrationServiceConnectionProfilePostgresqlSslToTerraform(struct?: DatabaseMigrationServiceConnectionProfilePostgresqlSslOutputReference | DatabaseMigrationServiceConnectionProfilePostgresqlSsl): any;
export declare function databaseMigrationServiceConnectionProfilePostgresqlSslToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfilePostgresqlSslOutputReference | DatabaseMigrationServiceConnectionProfilePostgresqlSsl): any;
export declare class DatabaseMigrationServiceConnectionProfilePostgresqlSslOutputReference 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(): DatabaseMigrationServiceConnectionProfilePostgresqlSsl | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfilePostgresqlSsl | undefined);
    private _caCertificate?;
    get caCertificate(): string;
    set caCertificate(value: string);
    get caCertificateInput(): string | undefined;
    private _clientCertificate?;
    get clientCertificate(): string;
    set clientCertificate(value: string);
    resetClientCertificate(): void;
    get clientCertificateInput(): string | undefined;
    private _clientKey?;
    get clientKey(): string;
    set clientKey(value: string);
    resetClientKey(): void;
    get clientKeyInput(): string | undefined;
    get type(): string;
}
export interface DatabaseMigrationServiceConnectionProfilePostgresql {
    /**
    * If the connected database is an AlloyDB instance, use this field to provide the AlloyDB cluster ID.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#alloydb_cluster_id DatabaseMigrationServiceConnectionProfile#alloydb_cluster_id}
    */
    readonly alloydbClusterId?: string;
    /**
    * If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#cloud_sql_id DatabaseMigrationServiceConnectionProfile#cloud_sql_id}
    */
    readonly cloudSqlId?: string;
    /**
    * The IP or hostname of the source MySQL database.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#host DatabaseMigrationServiceConnectionProfile#host}
    */
    readonly host?: string;
    /**
    * Input only. The password for the user that Database Migration Service will be using to connect to the database.
    * This field is not returned on request, and the value is encrypted when stored in Database Migration Service.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#password DatabaseMigrationServiceConnectionProfile#password}
    */
    readonly password?: string;
    /**
    * The network port of the source MySQL database.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#port DatabaseMigrationServiceConnectionProfile#port}
    */
    readonly port?: number;
    /**
    * The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#username DatabaseMigrationServiceConnectionProfile#username}
    */
    readonly username?: string;
    /**
    * ssl block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#ssl DatabaseMigrationServiceConnectionProfile#ssl}
    */
    readonly ssl?: DatabaseMigrationServiceConnectionProfilePostgresqlSsl;
}
export declare function databaseMigrationServiceConnectionProfilePostgresqlToTerraform(struct?: DatabaseMigrationServiceConnectionProfilePostgresqlOutputReference | DatabaseMigrationServiceConnectionProfilePostgresql): any;
export declare function databaseMigrationServiceConnectionProfilePostgresqlToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfilePostgresqlOutputReference | DatabaseMigrationServiceConnectionProfilePostgresql): any;
export declare class DatabaseMigrationServiceConnectionProfilePostgresqlOutputReference 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(): DatabaseMigrationServiceConnectionProfilePostgresql | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfilePostgresql | undefined);
    private _alloydbClusterId?;
    get alloydbClusterId(): string;
    set alloydbClusterId(value: string);
    resetAlloydbClusterId(): void;
    get alloydbClusterIdInput(): string | undefined;
    private _cloudSqlId?;
    get cloudSqlId(): string;
    set cloudSqlId(value: string);
    resetCloudSqlId(): void;
    get cloudSqlIdInput(): string | undefined;
    private _host?;
    get host(): string;
    set host(value: string);
    resetHost(): void;
    get hostInput(): string | undefined;
    get networkArchitecture(): string;
    private _password?;
    get password(): string;
    set password(value: string);
    resetPassword(): void;
    get passwordInput(): string | undefined;
    get passwordSet(): cdktf.IResolvable;
    private _port?;
    get port(): number;
    set port(value: number);
    resetPort(): void;
    get portInput(): number | undefined;
    private _username?;
    get username(): string;
    set username(value: string);
    resetUsername(): void;
    get usernameInput(): string | undefined;
    private _ssl;
    get ssl(): DatabaseMigrationServiceConnectionProfilePostgresqlSslOutputReference;
    putSsl(value: DatabaseMigrationServiceConnectionProfilePostgresqlSsl): void;
    resetSsl(): void;
    get sslInput(): DatabaseMigrationServiceConnectionProfilePostgresqlSsl | undefined;
}
export interface DatabaseMigrationServiceConnectionProfileTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#create DatabaseMigrationServiceConnectionProfile#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#delete DatabaseMigrationServiceConnectionProfile#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#update DatabaseMigrationServiceConnectionProfile#update}
    */
    readonly update?: string;
}
export declare function databaseMigrationServiceConnectionProfileTimeoutsToTerraform(struct?: DatabaseMigrationServiceConnectionProfileTimeouts | cdktf.IResolvable): any;
export declare function databaseMigrationServiceConnectionProfileTimeoutsToHclTerraform(struct?: DatabaseMigrationServiceConnectionProfileTimeouts | cdktf.IResolvable): any;
export declare class DatabaseMigrationServiceConnectionProfileTimeoutsOutputReference 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(): DatabaseMigrationServiceConnectionProfileTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseMigrationServiceConnectionProfileTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile google_database_migration_service_connection_profile}
*/
export declare class DatabaseMigrationServiceConnectionProfile extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_database_migration_service_connection_profile";
    /**
    * Generates CDKTF code for importing a DatabaseMigrationServiceConnectionProfile 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 DatabaseMigrationServiceConnectionProfile to import
    * @param importFromId The id of the existing DatabaseMigrationServiceConnectionProfile that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/database_migration_service_connection_profile#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DatabaseMigrationServiceConnectionProfile 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.13.0/docs/resources/database_migration_service_connection_profile google_database_migration_service_connection_profile} 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 DatabaseMigrationServiceConnectionProfileConfig
    */
    constructor(scope: Construct, id: string, config: DatabaseMigrationServiceConnectionProfileConfig);
    private _connectionProfileId?;
    get connectionProfileId(): string;
    set connectionProfileId(value: string);
    get connectionProfileIdInput(): string | undefined;
    get createTime(): string;
    get dbprovider(): string;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _effectiveLabels;
    get effectiveLabels(): cdktf.StringMap;
    private _error;
    get error(): DatabaseMigrationServiceConnectionProfileErrorList;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    resetLocation(): void;
    get locationInput(): string | undefined;
    get name(): string;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    get state(): string;
    private _terraformLabels;
    get terraformLabels(): cdktf.StringMap;
    private _alloydb;
    get alloydb(): DatabaseMigrationServiceConnectionProfileAlloydbOutputReference;
    putAlloydb(value: DatabaseMigrationServiceConnectionProfileAlloydb): void;
    resetAlloydb(): void;
    get alloydbInput(): DatabaseMigrationServiceConnectionProfileAlloydb | undefined;
    private _cloudsql;
    get cloudsql(): DatabaseMigrationServiceConnectionProfileCloudsqlOutputReference;
    putCloudsql(value: DatabaseMigrationServiceConnectionProfileCloudsql): void;
    resetCloudsql(): void;
    get cloudsqlInput(): DatabaseMigrationServiceConnectionProfileCloudsql | undefined;
    private _mysql;
    get mysql(): DatabaseMigrationServiceConnectionProfileMysqlOutputReference;
    putMysql(value: DatabaseMigrationServiceConnectionProfileMysql): void;
    resetMysql(): void;
    get mysqlInput(): DatabaseMigrationServiceConnectionProfileMysql | undefined;
    private _oracle;
    get oracle(): DatabaseMigrationServiceConnectionProfileOracleOutputReference;
    putOracle(value: DatabaseMigrationServiceConnectionProfileOracle): void;
    resetOracle(): void;
    get oracleInput(): DatabaseMigrationServiceConnectionProfileOracle | undefined;
    private _postgresql;
    get postgresql(): DatabaseMigrationServiceConnectionProfilePostgresqlOutputReference;
    putPostgresql(value: DatabaseMigrationServiceConnectionProfilePostgresql): void;
    resetPostgresql(): void;
    get postgresqlInput(): DatabaseMigrationServiceConnectionProfilePostgresql | undefined;
    private _timeouts;
    get timeouts(): DatabaseMigrationServiceConnectionProfileTimeoutsOutputReference;
    putTimeouts(value: DatabaseMigrationServiceConnectionProfileTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DatabaseMigrationServiceConnectionProfileTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
