import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface GoldenGateDeploymentConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#compartment_id GoldenGateDeployment#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#cpu_core_count GoldenGateDeployment#cpu_core_count}
    */
    readonly cpuCoreCount: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#defined_tags GoldenGateDeployment#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#deployment_backup_id GoldenGateDeployment#deployment_backup_id}
    */
    readonly deploymentBackupId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#deployment_type GoldenGateDeployment#deployment_type}
    */
    readonly deploymentType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#description GoldenGateDeployment#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#display_name GoldenGateDeployment#display_name}
    */
    readonly displayName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#environment_type GoldenGateDeployment#environment_type}
    */
    readonly environmentType?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#fqdn GoldenGateDeployment#fqdn}
    */
    readonly fqdn?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#freeform_tags GoldenGateDeployment#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#id GoldenGateDeployment#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;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#is_auto_scaling_enabled GoldenGateDeployment#is_auto_scaling_enabled}
    */
    readonly isAutoScalingEnabled: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#is_lock_override GoldenGateDeployment#is_lock_override}
    */
    readonly isLockOverride?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#is_public GoldenGateDeployment#is_public}
    */
    readonly isPublic?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#license_model GoldenGateDeployment#license_model}
    */
    readonly licenseModel: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#load_balancer_subnet_id GoldenGateDeployment#load_balancer_subnet_id}
    */
    readonly loadBalancerSubnetId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#nsg_ids GoldenGateDeployment#nsg_ids}
    */
    readonly nsgIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#state GoldenGateDeployment#state}
    */
    readonly state?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#subnet_id GoldenGateDeployment#subnet_id}
    */
    readonly subnetId: string;
    /**
    * locks block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#locks GoldenGateDeployment#locks}
    */
    readonly locks?: GoldenGateDeploymentLocks[] | cdktf.IResolvable;
    /**
    * maintenance_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#maintenance_configuration GoldenGateDeployment#maintenance_configuration}
    */
    readonly maintenanceConfiguration?: GoldenGateDeploymentMaintenanceConfiguration;
    /**
    * maintenance_window block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#maintenance_window GoldenGateDeployment#maintenance_window}
    */
    readonly maintenanceWindow?: GoldenGateDeploymentMaintenanceWindow;
    /**
    * ogg_data block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#ogg_data GoldenGateDeployment#ogg_data}
    */
    readonly oggData?: GoldenGateDeploymentOggData;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#timeouts GoldenGateDeployment#timeouts}
    */
    readonly timeouts?: GoldenGateDeploymentTimeouts;
}
export interface GoldenGateDeploymentDeploymentDiagnosticData {
}
export declare function goldenGateDeploymentDeploymentDiagnosticDataToTerraform(struct?: GoldenGateDeploymentDeploymentDiagnosticData): any;
export declare function goldenGateDeploymentDeploymentDiagnosticDataToHclTerraform(struct?: GoldenGateDeploymentDeploymentDiagnosticData): any;
export declare class GoldenGateDeploymentDeploymentDiagnosticDataOutputReference 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(): GoldenGateDeploymentDeploymentDiagnosticData | undefined;
    set internalValue(value: GoldenGateDeploymentDeploymentDiagnosticData | undefined);
    get bucket(): string;
    get diagnosticState(): string;
    get namespace(): string;
    get object(): string;
    get timeDiagnosticEnd(): string;
    get timeDiagnosticStart(): string;
}
export declare class GoldenGateDeploymentDeploymentDiagnosticDataList 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): GoldenGateDeploymentDeploymentDiagnosticDataOutputReference;
}
export interface GoldenGateDeploymentIngressIps {
}
export declare function goldenGateDeploymentIngressIpsToTerraform(struct?: GoldenGateDeploymentIngressIps): any;
export declare function goldenGateDeploymentIngressIpsToHclTerraform(struct?: GoldenGateDeploymentIngressIps): any;
export declare class GoldenGateDeploymentIngressIpsOutputReference 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(): GoldenGateDeploymentIngressIps | undefined;
    set internalValue(value: GoldenGateDeploymentIngressIps | undefined);
    get ingressIp(): string;
}
export declare class GoldenGateDeploymentIngressIpsList 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): GoldenGateDeploymentIngressIpsOutputReference;
}
export interface GoldenGateDeploymentLocks {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#message GoldenGateDeployment#message}
    */
    readonly message?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#type GoldenGateDeployment#type}
    */
    readonly type: string;
}
export declare function goldenGateDeploymentLocksToTerraform(struct?: GoldenGateDeploymentLocks | cdktf.IResolvable): any;
export declare function goldenGateDeploymentLocksToHclTerraform(struct?: GoldenGateDeploymentLocks | cdktf.IResolvable): any;
export declare class GoldenGateDeploymentLocksOutputReference 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(): GoldenGateDeploymentLocks | cdktf.IResolvable | undefined;
    set internalValue(value: GoldenGateDeploymentLocks | cdktf.IResolvable | undefined);
    private _message?;
    get message(): string;
    set message(value: string);
    resetMessage(): void;
    get messageInput(): string | undefined;
    get relatedResourceId(): string;
    get timeCreated(): string;
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
}
export declare class GoldenGateDeploymentLocksList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: GoldenGateDeploymentLocks[] | 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): GoldenGateDeploymentLocksOutputReference;
}
export interface GoldenGateDeploymentMaintenanceConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#bundle_release_upgrade_period_in_days GoldenGateDeployment#bundle_release_upgrade_period_in_days}
    */
    readonly bundleReleaseUpgradePeriodInDays?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#interim_release_upgrade_period_in_days GoldenGateDeployment#interim_release_upgrade_period_in_days}
    */
    readonly interimReleaseUpgradePeriodInDays?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#is_interim_release_auto_upgrade_enabled GoldenGateDeployment#is_interim_release_auto_upgrade_enabled}
    */
    readonly isInterimReleaseAutoUpgradeEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#major_release_upgrade_period_in_days GoldenGateDeployment#major_release_upgrade_period_in_days}
    */
    readonly majorReleaseUpgradePeriodInDays?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#security_patch_upgrade_period_in_days GoldenGateDeployment#security_patch_upgrade_period_in_days}
    */
    readonly securityPatchUpgradePeriodInDays?: number;
}
export declare function goldenGateDeploymentMaintenanceConfigurationToTerraform(struct?: GoldenGateDeploymentMaintenanceConfigurationOutputReference | GoldenGateDeploymentMaintenanceConfiguration): any;
export declare function goldenGateDeploymentMaintenanceConfigurationToHclTerraform(struct?: GoldenGateDeploymentMaintenanceConfigurationOutputReference | GoldenGateDeploymentMaintenanceConfiguration): any;
export declare class GoldenGateDeploymentMaintenanceConfigurationOutputReference 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(): GoldenGateDeploymentMaintenanceConfiguration | undefined;
    set internalValue(value: GoldenGateDeploymentMaintenanceConfiguration | undefined);
    private _bundleReleaseUpgradePeriodInDays?;
    get bundleReleaseUpgradePeriodInDays(): number;
    set bundleReleaseUpgradePeriodInDays(value: number);
    resetBundleReleaseUpgradePeriodInDays(): void;
    get bundleReleaseUpgradePeriodInDaysInput(): number | undefined;
    private _interimReleaseUpgradePeriodInDays?;
    get interimReleaseUpgradePeriodInDays(): number;
    set interimReleaseUpgradePeriodInDays(value: number);
    resetInterimReleaseUpgradePeriodInDays(): void;
    get interimReleaseUpgradePeriodInDaysInput(): number | undefined;
    private _isInterimReleaseAutoUpgradeEnabled?;
    get isInterimReleaseAutoUpgradeEnabled(): boolean | cdktf.IResolvable;
    set isInterimReleaseAutoUpgradeEnabled(value: boolean | cdktf.IResolvable);
    resetIsInterimReleaseAutoUpgradeEnabled(): void;
    get isInterimReleaseAutoUpgradeEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _majorReleaseUpgradePeriodInDays?;
    get majorReleaseUpgradePeriodInDays(): number;
    set majorReleaseUpgradePeriodInDays(value: number);
    resetMajorReleaseUpgradePeriodInDays(): void;
    get majorReleaseUpgradePeriodInDaysInput(): number | undefined;
    private _securityPatchUpgradePeriodInDays?;
    get securityPatchUpgradePeriodInDays(): number;
    set securityPatchUpgradePeriodInDays(value: number);
    resetSecurityPatchUpgradePeriodInDays(): void;
    get securityPatchUpgradePeriodInDaysInput(): number | undefined;
}
export interface GoldenGateDeploymentMaintenanceWindow {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#day GoldenGateDeployment#day}
    */
    readonly day: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#start_hour GoldenGateDeployment#start_hour}
    */
    readonly startHour: number;
}
export declare function goldenGateDeploymentMaintenanceWindowToTerraform(struct?: GoldenGateDeploymentMaintenanceWindowOutputReference | GoldenGateDeploymentMaintenanceWindow): any;
export declare function goldenGateDeploymentMaintenanceWindowToHclTerraform(struct?: GoldenGateDeploymentMaintenanceWindowOutputReference | GoldenGateDeploymentMaintenanceWindow): any;
export declare class GoldenGateDeploymentMaintenanceWindowOutputReference 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(): GoldenGateDeploymentMaintenanceWindow | undefined;
    set internalValue(value: GoldenGateDeploymentMaintenanceWindow | undefined);
    private _day?;
    get day(): string;
    set day(value: string);
    get dayInput(): string | undefined;
    private _startHour?;
    get startHour(): number;
    set startHour(value: number);
    get startHourInput(): number | undefined;
}
export interface GoldenGateDeploymentOggDataGroupToRolesMapping {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#administrator_group_id GoldenGateDeployment#administrator_group_id}
    */
    readonly administratorGroupId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#operator_group_id GoldenGateDeployment#operator_group_id}
    */
    readonly operatorGroupId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#security_group_id GoldenGateDeployment#security_group_id}
    */
    readonly securityGroupId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#user_group_id GoldenGateDeployment#user_group_id}
    */
    readonly userGroupId?: string;
}
export declare function goldenGateDeploymentOggDataGroupToRolesMappingToTerraform(struct?: GoldenGateDeploymentOggDataGroupToRolesMappingOutputReference | GoldenGateDeploymentOggDataGroupToRolesMapping): any;
export declare function goldenGateDeploymentOggDataGroupToRolesMappingToHclTerraform(struct?: GoldenGateDeploymentOggDataGroupToRolesMappingOutputReference | GoldenGateDeploymentOggDataGroupToRolesMapping): any;
export declare class GoldenGateDeploymentOggDataGroupToRolesMappingOutputReference 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(): GoldenGateDeploymentOggDataGroupToRolesMapping | undefined;
    set internalValue(value: GoldenGateDeploymentOggDataGroupToRolesMapping | undefined);
    private _administratorGroupId?;
    get administratorGroupId(): string;
    set administratorGroupId(value: string);
    resetAdministratorGroupId(): void;
    get administratorGroupIdInput(): string | undefined;
    private _operatorGroupId?;
    get operatorGroupId(): string;
    set operatorGroupId(value: string);
    resetOperatorGroupId(): void;
    get operatorGroupIdInput(): string | undefined;
    private _securityGroupId?;
    get securityGroupId(): string;
    set securityGroupId(value: string);
    get securityGroupIdInput(): string | undefined;
    private _userGroupId?;
    get userGroupId(): string;
    set userGroupId(value: string);
    resetUserGroupId(): void;
    get userGroupIdInput(): string | undefined;
}
export interface GoldenGateDeploymentOggData {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#admin_password GoldenGateDeployment#admin_password}
    */
    readonly adminPassword?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#admin_username GoldenGateDeployment#admin_username}
    */
    readonly adminUsername?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#certificate GoldenGateDeployment#certificate}
    */
    readonly certificate?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#credential_store GoldenGateDeployment#credential_store}
    */
    readonly credentialStore?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#deployment_name GoldenGateDeployment#deployment_name}
    */
    readonly deploymentName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#identity_domain_id GoldenGateDeployment#identity_domain_id}
    */
    readonly identityDomainId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#key GoldenGateDeployment#key}
    */
    readonly key?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#ogg_version GoldenGateDeployment#ogg_version}
    */
    readonly oggVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#password_secret_id GoldenGateDeployment#password_secret_id}
    */
    readonly passwordSecretId?: string;
    /**
    * group_to_roles_mapping block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#group_to_roles_mapping GoldenGateDeployment#group_to_roles_mapping}
    */
    readonly groupToRolesMapping?: GoldenGateDeploymentOggDataGroupToRolesMapping;
}
export declare function goldenGateDeploymentOggDataToTerraform(struct?: GoldenGateDeploymentOggDataOutputReference | GoldenGateDeploymentOggData): any;
export declare function goldenGateDeploymentOggDataToHclTerraform(struct?: GoldenGateDeploymentOggDataOutputReference | GoldenGateDeploymentOggData): any;
export declare class GoldenGateDeploymentOggDataOutputReference 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(): GoldenGateDeploymentOggData | undefined;
    set internalValue(value: GoldenGateDeploymentOggData | undefined);
    private _adminPassword?;
    get adminPassword(): string;
    set adminPassword(value: string);
    resetAdminPassword(): void;
    get adminPasswordInput(): string | undefined;
    private _adminUsername?;
    get adminUsername(): string;
    set adminUsername(value: string);
    resetAdminUsername(): void;
    get adminUsernameInput(): string | undefined;
    private _certificate?;
    get certificate(): string;
    set certificate(value: string);
    resetCertificate(): void;
    get certificateInput(): string | undefined;
    private _credentialStore?;
    get credentialStore(): string;
    set credentialStore(value: string);
    resetCredentialStore(): void;
    get credentialStoreInput(): string | undefined;
    private _deploymentName?;
    get deploymentName(): string;
    set deploymentName(value: string);
    get deploymentNameInput(): string | undefined;
    private _identityDomainId?;
    get identityDomainId(): string;
    set identityDomainId(value: string);
    resetIdentityDomainId(): void;
    get identityDomainIdInput(): string | undefined;
    private _key?;
    get key(): string;
    set key(value: string);
    resetKey(): void;
    get keyInput(): string | undefined;
    private _oggVersion?;
    get oggVersion(): string;
    set oggVersion(value: string);
    resetOggVersion(): void;
    get oggVersionInput(): string | undefined;
    private _passwordSecretId?;
    get passwordSecretId(): string;
    set passwordSecretId(value: string);
    resetPasswordSecretId(): void;
    get passwordSecretIdInput(): string | undefined;
    private _groupToRolesMapping;
    get groupToRolesMapping(): GoldenGateDeploymentOggDataGroupToRolesMappingOutputReference;
    putGroupToRolesMapping(value: GoldenGateDeploymentOggDataGroupToRolesMapping): void;
    resetGroupToRolesMapping(): void;
    get groupToRolesMappingInput(): GoldenGateDeploymentOggDataGroupToRolesMapping | undefined;
}
export interface GoldenGateDeploymentTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#create GoldenGateDeployment#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#delete GoldenGateDeployment#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#update GoldenGateDeployment#update}
    */
    readonly update?: string;
}
export declare function goldenGateDeploymentTimeoutsToTerraform(struct?: GoldenGateDeploymentTimeouts | cdktf.IResolvable): any;
export declare function goldenGateDeploymentTimeoutsToHclTerraform(struct?: GoldenGateDeploymentTimeouts | cdktf.IResolvable): any;
export declare class GoldenGateDeploymentTimeoutsOutputReference 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(): GoldenGateDeploymentTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: GoldenGateDeploymentTimeouts | 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/oracle/oci/6.18.0/docs/resources/golden_gate_deployment oci_golden_gate_deployment}
*/
export declare class GoldenGateDeployment extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_golden_gate_deployment";
    /**
    * Generates CDKTF code for importing a GoldenGateDeployment 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 GoldenGateDeployment to import
    * @param importFromId The id of the existing GoldenGateDeployment that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/golden_gate_deployment#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the GoldenGateDeployment 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/oracle/oci/6.18.0/docs/resources/golden_gate_deployment oci_golden_gate_deployment} 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 GoldenGateDeploymentConfig
    */
    constructor(scope: Construct, id: string, config: GoldenGateDeploymentConfig);
    get category(): string;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _cpuCoreCount?;
    get cpuCoreCount(): number;
    set cpuCoreCount(value: number);
    get cpuCoreCountInput(): number | undefined;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _deploymentBackupId?;
    get deploymentBackupId(): string;
    set deploymentBackupId(value: string);
    resetDeploymentBackupId(): void;
    get deploymentBackupIdInput(): string | undefined;
    private _deploymentDiagnosticData;
    get deploymentDiagnosticData(): GoldenGateDeploymentDeploymentDiagnosticDataList;
    private _deploymentType?;
    get deploymentType(): string;
    set deploymentType(value: string);
    get deploymentTypeInput(): string | undefined;
    get deploymentUrl(): string;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    get displayNameInput(): string | undefined;
    private _environmentType?;
    get environmentType(): string;
    set environmentType(value: string);
    resetEnvironmentType(): void;
    get environmentTypeInput(): string | undefined;
    private _fqdn?;
    get fqdn(): string;
    set fqdn(value: string);
    resetFqdn(): void;
    get fqdnInput(): string | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _ingressIps;
    get ingressIps(): GoldenGateDeploymentIngressIpsList;
    private _isAutoScalingEnabled?;
    get isAutoScalingEnabled(): boolean | cdktf.IResolvable;
    set isAutoScalingEnabled(value: boolean | cdktf.IResolvable);
    get isAutoScalingEnabledInput(): boolean | cdktf.IResolvable | undefined;
    get isHealthy(): cdktf.IResolvable;
    get isLatestVersion(): cdktf.IResolvable;
    private _isLockOverride?;
    get isLockOverride(): boolean | cdktf.IResolvable;
    set isLockOverride(value: boolean | cdktf.IResolvable);
    resetIsLockOverride(): void;
    get isLockOverrideInput(): boolean | cdktf.IResolvable | undefined;
    private _isPublic?;
    get isPublic(): boolean | cdktf.IResolvable;
    set isPublic(value: boolean | cdktf.IResolvable);
    resetIsPublic(): void;
    get isPublicInput(): boolean | cdktf.IResolvable | undefined;
    get isStorageUtilizationLimitExceeded(): cdktf.IResolvable;
    private _licenseModel?;
    get licenseModel(): string;
    set licenseModel(value: string);
    get licenseModelInput(): string | undefined;
    get lifecycleDetails(): string;
    get lifecycleSubState(): string;
    get loadBalancerId(): string;
    private _loadBalancerSubnetId?;
    get loadBalancerSubnetId(): string;
    set loadBalancerSubnetId(value: string);
    resetLoadBalancerSubnetId(): void;
    get loadBalancerSubnetIdInput(): string | undefined;
    get nextMaintenanceActionType(): string;
    get nextMaintenanceDescription(): string;
    private _nsgIds?;
    get nsgIds(): string[];
    set nsgIds(value: string[]);
    resetNsgIds(): void;
    get nsgIdsInput(): string[] | undefined;
    get privateIpAddress(): string;
    get publicIpAddress(): string;
    private _state?;
    get state(): string;
    set state(value: string);
    resetState(): void;
    get stateInput(): string | undefined;
    get storageUtilizationInBytes(): string;
    private _subnetId?;
    get subnetId(): string;
    set subnetId(value: string);
    get subnetIdInput(): string | undefined;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeOfNextMaintenance(): string;
    get timeOggVersionSupportedUntil(): string;
    get timeUpdated(): string;
    get timeUpgradeRequired(): string;
    private _locks;
    get locks(): GoldenGateDeploymentLocksList;
    putLocks(value: GoldenGateDeploymentLocks[] | cdktf.IResolvable): void;
    resetLocks(): void;
    get locksInput(): cdktf.IResolvable | GoldenGateDeploymentLocks[] | undefined;
    private _maintenanceConfiguration;
    get maintenanceConfiguration(): GoldenGateDeploymentMaintenanceConfigurationOutputReference;
    putMaintenanceConfiguration(value: GoldenGateDeploymentMaintenanceConfiguration): void;
    resetMaintenanceConfiguration(): void;
    get maintenanceConfigurationInput(): GoldenGateDeploymentMaintenanceConfiguration | undefined;
    private _maintenanceWindow;
    get maintenanceWindow(): GoldenGateDeploymentMaintenanceWindowOutputReference;
    putMaintenanceWindow(value: GoldenGateDeploymentMaintenanceWindow): void;
    resetMaintenanceWindow(): void;
    get maintenanceWindowInput(): GoldenGateDeploymentMaintenanceWindow | undefined;
    private _oggData;
    get oggData(): GoldenGateDeploymentOggDataOutputReference;
    putOggData(value: GoldenGateDeploymentOggData): void;
    resetOggData(): void;
    get oggDataInput(): GoldenGateDeploymentOggData | undefined;
    private _timeouts;
    get timeouts(): GoldenGateDeploymentTimeoutsOutputReference;
    putTimeouts(value: GoldenGateDeploymentTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | GoldenGateDeploymentTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
