import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface AiAnomalyDetectionDataAssetConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#compartment_id AiAnomalyDetectionDataAsset#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#defined_tags AiAnomalyDetectionDataAsset#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#description AiAnomalyDetectionDataAsset#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#display_name AiAnomalyDetectionDataAsset#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#freeform_tags AiAnomalyDetectionDataAsset#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#id AiAnomalyDetectionDataAsset#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/ai_anomaly_detection_data_asset#private_endpoint_id AiAnomalyDetectionDataAsset#private_endpoint_id}
    */
    readonly privateEndpointId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#project_id AiAnomalyDetectionDataAsset#project_id}
    */
    readonly projectId: string;
    /**
    * data_source_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#data_source_details AiAnomalyDetectionDataAsset#data_source_details}
    */
    readonly dataSourceDetails: AiAnomalyDetectionDataAssetDataSourceDetails;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#timeouts AiAnomalyDetectionDataAsset#timeouts}
    */
    readonly timeouts?: AiAnomalyDetectionDataAssetTimeouts;
}
export interface AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#bucket AiAnomalyDetectionDataAsset#bucket}
    */
    readonly bucket?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#database_name AiAnomalyDetectionDataAsset#database_name}
    */
    readonly databaseName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#influx_version AiAnomalyDetectionDataAsset#influx_version}
    */
    readonly influxVersion: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#organization_name AiAnomalyDetectionDataAsset#organization_name}
    */
    readonly organizationName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#retention_policy_name AiAnomalyDetectionDataAsset#retention_policy_name}
    */
    readonly retentionPolicyName?: string;
}
export declare function aiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetailsToTerraform(struct?: AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetailsOutputReference | AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetails): any;
export declare function aiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetailsToHclTerraform(struct?: AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetailsOutputReference | AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetails): any;
export declare class AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetailsOutputReference 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(): AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetails | undefined;
    set internalValue(value: AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetails | undefined);
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    resetBucket(): void;
    get bucketInput(): string | undefined;
    private _databaseName?;
    get databaseName(): string;
    set databaseName(value: string);
    resetDatabaseName(): void;
    get databaseNameInput(): string | undefined;
    private _influxVersion?;
    get influxVersion(): string;
    set influxVersion(value: string);
    get influxVersionInput(): string | undefined;
    private _organizationName?;
    get organizationName(): string;
    set organizationName(value: string);
    resetOrganizationName(): void;
    get organizationNameInput(): string | undefined;
    private _retentionPolicyName?;
    get retentionPolicyName(): string;
    set retentionPolicyName(value: string);
    resetRetentionPolicyName(): void;
    get retentionPolicyNameInput(): string | undefined;
}
export interface AiAnomalyDetectionDataAssetDataSourceDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#atp_password_secret_id AiAnomalyDetectionDataAsset#atp_password_secret_id}
    */
    readonly atpPasswordSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#atp_user_name AiAnomalyDetectionDataAsset#atp_user_name}
    */
    readonly atpUserName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#bucket AiAnomalyDetectionDataAsset#bucket}
    */
    readonly bucket?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#cwallet_file_secret_id AiAnomalyDetectionDataAsset#cwallet_file_secret_id}
    */
    readonly cwalletFileSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#data_source_type AiAnomalyDetectionDataAsset#data_source_type}
    */
    readonly dataSourceType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#database_name AiAnomalyDetectionDataAsset#database_name}
    */
    readonly databaseName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#ewallet_file_secret_id AiAnomalyDetectionDataAsset#ewallet_file_secret_id}
    */
    readonly ewalletFileSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#key_store_file_secret_id AiAnomalyDetectionDataAsset#key_store_file_secret_id}
    */
    readonly keyStoreFileSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#measurement_name AiAnomalyDetectionDataAsset#measurement_name}
    */
    readonly measurementName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#namespace AiAnomalyDetectionDataAsset#namespace}
    */
    readonly namespace?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#object AiAnomalyDetectionDataAsset#object}
    */
    readonly object?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#ojdbc_file_secret_id AiAnomalyDetectionDataAsset#ojdbc_file_secret_id}
    */
    readonly ojdbcFileSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#password_secret_id AiAnomalyDetectionDataAsset#password_secret_id}
    */
    readonly passwordSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#table_name AiAnomalyDetectionDataAsset#table_name}
    */
    readonly tableName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#tnsnames_file_secret_id AiAnomalyDetectionDataAsset#tnsnames_file_secret_id}
    */
    readonly tnsnamesFileSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#truststore_file_secret_id AiAnomalyDetectionDataAsset#truststore_file_secret_id}
    */
    readonly truststoreFileSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#url AiAnomalyDetectionDataAsset#url}
    */
    readonly url?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#user_name AiAnomalyDetectionDataAsset#user_name}
    */
    readonly userName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#wallet_password_secret_id AiAnomalyDetectionDataAsset#wallet_password_secret_id}
    */
    readonly walletPasswordSecretId?: string;
    /**
    * version_specific_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#version_specific_details AiAnomalyDetectionDataAsset#version_specific_details}
    */
    readonly versionSpecificDetails?: AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetails;
}
export declare function aiAnomalyDetectionDataAssetDataSourceDetailsToTerraform(struct?: AiAnomalyDetectionDataAssetDataSourceDetailsOutputReference | AiAnomalyDetectionDataAssetDataSourceDetails): any;
export declare function aiAnomalyDetectionDataAssetDataSourceDetailsToHclTerraform(struct?: AiAnomalyDetectionDataAssetDataSourceDetailsOutputReference | AiAnomalyDetectionDataAssetDataSourceDetails): any;
export declare class AiAnomalyDetectionDataAssetDataSourceDetailsOutputReference 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(): AiAnomalyDetectionDataAssetDataSourceDetails | undefined;
    set internalValue(value: AiAnomalyDetectionDataAssetDataSourceDetails | undefined);
    private _atpPasswordSecretId?;
    get atpPasswordSecretId(): string;
    set atpPasswordSecretId(value: string);
    resetAtpPasswordSecretId(): void;
    get atpPasswordSecretIdInput(): string | undefined;
    private _atpUserName?;
    get atpUserName(): string;
    set atpUserName(value: string);
    resetAtpUserName(): void;
    get atpUserNameInput(): string | undefined;
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    resetBucket(): void;
    get bucketInput(): string | undefined;
    private _cwalletFileSecretId?;
    get cwalletFileSecretId(): string;
    set cwalletFileSecretId(value: string);
    resetCwalletFileSecretId(): void;
    get cwalletFileSecretIdInput(): string | undefined;
    private _dataSourceType?;
    get dataSourceType(): string;
    set dataSourceType(value: string);
    get dataSourceTypeInput(): string | undefined;
    private _databaseName?;
    get databaseName(): string;
    set databaseName(value: string);
    resetDatabaseName(): void;
    get databaseNameInput(): string | undefined;
    private _ewalletFileSecretId?;
    get ewalletFileSecretId(): string;
    set ewalletFileSecretId(value: string);
    resetEwalletFileSecretId(): void;
    get ewalletFileSecretIdInput(): string | undefined;
    private _keyStoreFileSecretId?;
    get keyStoreFileSecretId(): string;
    set keyStoreFileSecretId(value: string);
    resetKeyStoreFileSecretId(): void;
    get keyStoreFileSecretIdInput(): string | undefined;
    private _measurementName?;
    get measurementName(): string;
    set measurementName(value: string);
    resetMeasurementName(): void;
    get measurementNameInput(): string | undefined;
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    resetNamespace(): void;
    get namespaceInput(): string | undefined;
    private _object?;
    get object(): string;
    set object(value: string);
    resetObject(): void;
    get objectInput(): string | undefined;
    private _ojdbcFileSecretId?;
    get ojdbcFileSecretId(): string;
    set ojdbcFileSecretId(value: string);
    resetOjdbcFileSecretId(): void;
    get ojdbcFileSecretIdInput(): string | undefined;
    private _passwordSecretId?;
    get passwordSecretId(): string;
    set passwordSecretId(value: string);
    resetPasswordSecretId(): void;
    get passwordSecretIdInput(): string | undefined;
    private _tableName?;
    get tableName(): string;
    set tableName(value: string);
    resetTableName(): void;
    get tableNameInput(): string | undefined;
    private _tnsnamesFileSecretId?;
    get tnsnamesFileSecretId(): string;
    set tnsnamesFileSecretId(value: string);
    resetTnsnamesFileSecretId(): void;
    get tnsnamesFileSecretIdInput(): string | undefined;
    private _truststoreFileSecretId?;
    get truststoreFileSecretId(): string;
    set truststoreFileSecretId(value: string);
    resetTruststoreFileSecretId(): void;
    get truststoreFileSecretIdInput(): string | undefined;
    private _url?;
    get url(): string;
    set url(value: string);
    resetUrl(): void;
    get urlInput(): string | undefined;
    private _userName?;
    get userName(): string;
    set userName(value: string);
    resetUserName(): void;
    get userNameInput(): string | undefined;
    private _walletPasswordSecretId?;
    get walletPasswordSecretId(): string;
    set walletPasswordSecretId(value: string);
    resetWalletPasswordSecretId(): void;
    get walletPasswordSecretIdInput(): string | undefined;
    private _versionSpecificDetails;
    get versionSpecificDetails(): AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetailsOutputReference;
    putVersionSpecificDetails(value: AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetails): void;
    resetVersionSpecificDetails(): void;
    get versionSpecificDetailsInput(): AiAnomalyDetectionDataAssetDataSourceDetailsVersionSpecificDetails | undefined;
}
export interface AiAnomalyDetectionDataAssetTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#create AiAnomalyDetectionDataAsset#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#delete AiAnomalyDetectionDataAsset#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#update AiAnomalyDetectionDataAsset#update}
    */
    readonly update?: string;
}
export declare function aiAnomalyDetectionDataAssetTimeoutsToTerraform(struct?: AiAnomalyDetectionDataAssetTimeouts | cdktf.IResolvable): any;
export declare function aiAnomalyDetectionDataAssetTimeoutsToHclTerraform(struct?: AiAnomalyDetectionDataAssetTimeouts | cdktf.IResolvable): any;
export declare class AiAnomalyDetectionDataAssetTimeoutsOutputReference 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(): AiAnomalyDetectionDataAssetTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: AiAnomalyDetectionDataAssetTimeouts | 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/ai_anomaly_detection_data_asset oci_ai_anomaly_detection_data_asset}
*/
export declare class AiAnomalyDetectionDataAsset extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_ai_anomaly_detection_data_asset";
    /**
    * Generates CDKTF code for importing a AiAnomalyDetectionDataAsset 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 AiAnomalyDetectionDataAsset to import
    * @param importFromId The id of the existing AiAnomalyDetectionDataAsset that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_anomaly_detection_data_asset#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the AiAnomalyDetectionDataAsset 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/ai_anomaly_detection_data_asset oci_ai_anomaly_detection_data_asset} 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 AiAnomalyDetectionDataAssetConfig
    */
    constructor(scope: Construct, id: string, config: AiAnomalyDetectionDataAssetConfig);
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): 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 _privateEndpointId?;
    get privateEndpointId(): string;
    set privateEndpointId(value: string);
    resetPrivateEndpointId(): void;
    get privateEndpointIdInput(): string | undefined;
    private _projectId?;
    get projectId(): string;
    set projectId(value: string);
    get projectIdInput(): string | undefined;
    get state(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _dataSourceDetails;
    get dataSourceDetails(): AiAnomalyDetectionDataAssetDataSourceDetailsOutputReference;
    putDataSourceDetails(value: AiAnomalyDetectionDataAssetDataSourceDetails): void;
    get dataSourceDetailsInput(): AiAnomalyDetectionDataAssetDataSourceDetails | undefined;
    private _timeouts;
    get timeouts(): AiAnomalyDetectionDataAssetTimeoutsOutputReference;
    putTimeouts(value: AiAnomalyDetectionDataAssetTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | AiAnomalyDetectionDataAssetTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
