import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface FleetAppsManagementFleetCredentialConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#compartment_id FleetAppsManagementFleetCredential#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#display_name FleetAppsManagementFleetCredential#display_name}
    */
    readonly displayName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#fleet_id FleetAppsManagementFleetCredential#fleet_id}
    */
    readonly fleetId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#id FleetAppsManagementFleetCredential#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;
    /**
    * entity_specifics block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#entity_specifics FleetAppsManagementFleetCredential#entity_specifics}
    */
    readonly entitySpecifics: FleetAppsManagementFleetCredentialEntitySpecifics;
    /**
    * password block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#password FleetAppsManagementFleetCredential#password}
    */
    readonly password: FleetAppsManagementFleetCredentialPassword;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#timeouts FleetAppsManagementFleetCredential#timeouts}
    */
    readonly timeouts?: FleetAppsManagementFleetCredentialTimeouts;
    /**
    * user block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#user FleetAppsManagementFleetCredential#user}
    */
    readonly user: FleetAppsManagementFleetCredentialUser;
}
export interface FleetAppsManagementFleetCredentialEntitySpecifics {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#credential_level FleetAppsManagementFleetCredential#credential_level}
    */
    readonly credentialLevel: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#resource_id FleetAppsManagementFleetCredential#resource_id}
    */
    readonly resourceId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#target FleetAppsManagementFleetCredential#target}
    */
    readonly target: string;
}
export declare function fleetAppsManagementFleetCredentialEntitySpecificsToTerraform(struct?: FleetAppsManagementFleetCredentialEntitySpecificsOutputReference | FleetAppsManagementFleetCredentialEntitySpecifics): any;
export declare function fleetAppsManagementFleetCredentialEntitySpecificsToHclTerraform(struct?: FleetAppsManagementFleetCredentialEntitySpecificsOutputReference | FleetAppsManagementFleetCredentialEntitySpecifics): any;
export declare class FleetAppsManagementFleetCredentialEntitySpecificsOutputReference 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(): FleetAppsManagementFleetCredentialEntitySpecifics | undefined;
    set internalValue(value: FleetAppsManagementFleetCredentialEntitySpecifics | undefined);
    private _credentialLevel?;
    get credentialLevel(): string;
    set credentialLevel(value: string);
    get credentialLevelInput(): string | undefined;
    private _resourceId?;
    get resourceId(): string;
    set resourceId(value: string);
    get resourceIdInput(): string | undefined;
    private _target?;
    get target(): string;
    set target(value: string);
    get targetInput(): string | undefined;
}
export interface FleetAppsManagementFleetCredentialPassword {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#credential_type FleetAppsManagementFleetCredential#credential_type}
    */
    readonly credentialType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#key_id FleetAppsManagementFleetCredential#key_id}
    */
    readonly keyId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#key_version FleetAppsManagementFleetCredential#key_version}
    */
    readonly keyVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#secret_id FleetAppsManagementFleetCredential#secret_id}
    */
    readonly secretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#secret_version FleetAppsManagementFleetCredential#secret_version}
    */
    readonly secretVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#value FleetAppsManagementFleetCredential#value}
    */
    readonly value?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#vault_id FleetAppsManagementFleetCredential#vault_id}
    */
    readonly vaultId?: string;
}
export declare function fleetAppsManagementFleetCredentialPasswordToTerraform(struct?: FleetAppsManagementFleetCredentialPasswordOutputReference | FleetAppsManagementFleetCredentialPassword): any;
export declare function fleetAppsManagementFleetCredentialPasswordToHclTerraform(struct?: FleetAppsManagementFleetCredentialPasswordOutputReference | FleetAppsManagementFleetCredentialPassword): any;
export declare class FleetAppsManagementFleetCredentialPasswordOutputReference 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(): FleetAppsManagementFleetCredentialPassword | undefined;
    set internalValue(value: FleetAppsManagementFleetCredentialPassword | undefined);
    private _credentialType?;
    get credentialType(): string;
    set credentialType(value: string);
    get credentialTypeInput(): string | undefined;
    private _keyId?;
    get keyId(): string;
    set keyId(value: string);
    resetKeyId(): void;
    get keyIdInput(): string | undefined;
    private _keyVersion?;
    get keyVersion(): string;
    set keyVersion(value: string);
    resetKeyVersion(): void;
    get keyVersionInput(): string | undefined;
    private _secretId?;
    get secretId(): string;
    set secretId(value: string);
    resetSecretId(): void;
    get secretIdInput(): string | undefined;
    private _secretVersion?;
    get secretVersion(): string;
    set secretVersion(value: string);
    resetSecretVersion(): void;
    get secretVersionInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
    private _vaultId?;
    get vaultId(): string;
    set vaultId(value: string);
    resetVaultId(): void;
    get vaultIdInput(): string | undefined;
}
export interface FleetAppsManagementFleetCredentialTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#create FleetAppsManagementFleetCredential#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#delete FleetAppsManagementFleetCredential#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#update FleetAppsManagementFleetCredential#update}
    */
    readonly update?: string;
}
export declare function fleetAppsManagementFleetCredentialTimeoutsToTerraform(struct?: FleetAppsManagementFleetCredentialTimeouts | cdktf.IResolvable): any;
export declare function fleetAppsManagementFleetCredentialTimeoutsToHclTerraform(struct?: FleetAppsManagementFleetCredentialTimeouts | cdktf.IResolvable): any;
export declare class FleetAppsManagementFleetCredentialTimeoutsOutputReference 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(): FleetAppsManagementFleetCredentialTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: FleetAppsManagementFleetCredentialTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
export interface FleetAppsManagementFleetCredentialUser {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#credential_type FleetAppsManagementFleetCredential#credential_type}
    */
    readonly credentialType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#key_id FleetAppsManagementFleetCredential#key_id}
    */
    readonly keyId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#key_version FleetAppsManagementFleetCredential#key_version}
    */
    readonly keyVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#secret_id FleetAppsManagementFleetCredential#secret_id}
    */
    readonly secretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#secret_version FleetAppsManagementFleetCredential#secret_version}
    */
    readonly secretVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#value FleetAppsManagementFleetCredential#value}
    */
    readonly value?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#vault_id FleetAppsManagementFleetCredential#vault_id}
    */
    readonly vaultId?: string;
}
export declare function fleetAppsManagementFleetCredentialUserToTerraform(struct?: FleetAppsManagementFleetCredentialUserOutputReference | FleetAppsManagementFleetCredentialUser): any;
export declare function fleetAppsManagementFleetCredentialUserToHclTerraform(struct?: FleetAppsManagementFleetCredentialUserOutputReference | FleetAppsManagementFleetCredentialUser): any;
export declare class FleetAppsManagementFleetCredentialUserOutputReference 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(): FleetAppsManagementFleetCredentialUser | undefined;
    set internalValue(value: FleetAppsManagementFleetCredentialUser | undefined);
    private _credentialType?;
    get credentialType(): string;
    set credentialType(value: string);
    get credentialTypeInput(): string | undefined;
    private _keyId?;
    get keyId(): string;
    set keyId(value: string);
    resetKeyId(): void;
    get keyIdInput(): string | undefined;
    private _keyVersion?;
    get keyVersion(): string;
    set keyVersion(value: string);
    resetKeyVersion(): void;
    get keyVersionInput(): string | undefined;
    private _secretId?;
    get secretId(): string;
    set secretId(value: string);
    resetSecretId(): void;
    get secretIdInput(): string | undefined;
    private _secretVersion?;
    get secretVersion(): string;
    set secretVersion(value: string);
    resetSecretVersion(): void;
    get secretVersionInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
    private _vaultId?;
    get vaultId(): string;
    set vaultId(value: string);
    resetVaultId(): void;
    get vaultIdInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential oci_fleet_apps_management_fleet_credential}
*/
export declare class FleetAppsManagementFleetCredential extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_fleet_apps_management_fleet_credential";
    /**
    * Generates CDKTF code for importing a FleetAppsManagementFleetCredential 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 FleetAppsManagementFleetCredential to import
    * @param importFromId The id of the existing FleetAppsManagementFleetCredential that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/fleet_apps_management_fleet_credential#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the FleetAppsManagementFleetCredential 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/fleet_apps_management_fleet_credential oci_fleet_apps_management_fleet_credential} 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 FleetAppsManagementFleetCredentialConfig
    */
    constructor(scope: Construct, id: string, config: FleetAppsManagementFleetCredentialConfig);
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    get displayNameInput(): string | undefined;
    private _fleetId?;
    get fleetId(): string;
    set fleetId(value: string);
    get fleetIdInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    get lifecycleDetails(): string;
    get state(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _entitySpecifics;
    get entitySpecifics(): FleetAppsManagementFleetCredentialEntitySpecificsOutputReference;
    putEntitySpecifics(value: FleetAppsManagementFleetCredentialEntitySpecifics): void;
    get entitySpecificsInput(): FleetAppsManagementFleetCredentialEntitySpecifics | undefined;
    private _password;
    get password(): FleetAppsManagementFleetCredentialPasswordOutputReference;
    putPassword(value: FleetAppsManagementFleetCredentialPassword): void;
    get passwordInput(): FleetAppsManagementFleetCredentialPassword | undefined;
    private _timeouts;
    get timeouts(): FleetAppsManagementFleetCredentialTimeoutsOutputReference;
    putTimeouts(value: FleetAppsManagementFleetCredentialTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | FleetAppsManagementFleetCredentialTimeouts | undefined;
    private _user;
    get user(): FleetAppsManagementFleetCredentialUserOutputReference;
    putUser(value: FleetAppsManagementFleetCredentialUser): void;
    get userInput(): FleetAppsManagementFleetCredentialUser | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
