import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciIdentityDomainsAuthenticationFactorSettingConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/identity_domains_authentication_factor_setting#attribute_sets DataOciIdentityDomainsAuthenticationFactorSetting#attribute_sets}
    */
    readonly attributeSets?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/identity_domains_authentication_factor_setting#attributes DataOciIdentityDomainsAuthenticationFactorSetting#attributes}
    */
    readonly attributes?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/identity_domains_authentication_factor_setting#authentication_factor_setting_id DataOciIdentityDomainsAuthenticationFactorSetting#authentication_factor_setting_id}
    */
    readonly authenticationFactorSettingId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/identity_domains_authentication_factor_setting#authorization DataOciIdentityDomainsAuthenticationFactorSetting#authorization}
    */
    readonly authorization?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/identity_domains_authentication_factor_setting#idcs_endpoint DataOciIdentityDomainsAuthenticationFactorSetting#idcs_endpoint}
    */
    readonly idcsEndpoint: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/identity_domains_authentication_factor_setting#resource_type_schema_version DataOciIdentityDomainsAuthenticationFactorSetting#resource_type_schema_version}
    */
    readonly resourceTypeSchemaVersion?: string;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettings {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettingsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettings): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettingsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettings): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettingsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettings | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettings | undefined);
    get helpDeskCodeExpiryInMins(): number;
    get helpDeskGenerationEnabled(): cdktf.IResolvable;
    get helpDeskMaxUsage(): number;
    get length(): number;
    get maxActive(): number;
    get selfServiceGenerationEnabled(): cdktf.IResolvable;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettingsList 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): DataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettingsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingClientAppSettings {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingClientAppSettingsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingClientAppSettings): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingClientAppSettingsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingClientAppSettings): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingClientAppSettingsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingClientAppSettings | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingClientAppSettings | undefined);
    get deviceProtectionPolicy(): string;
    get initialLockoutPeriodInSecs(): number;
    get keyPairLength(): number;
    get lockoutEscalationPattern(): string;
    get maxFailuresBeforeLockout(): number;
    get maxFailuresBeforeWarning(): number;
    get maxLockoutIntervalInSecs(): number;
    get minPinLength(): number;
    get policyUpdateFreqInDays(): number;
    get requestSigningAlgo(): string;
    get sharedSecretEncoding(): string;
    get unlockAppForEachRequestEnabled(): cdktf.IResolvable;
    get unlockAppIntervalInSecs(): number;
    get unlockOnAppForegroundEnabled(): cdktf.IResolvable;
    get unlockOnAppStartEnabled(): cdktf.IResolvable;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingClientAppSettingsList 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): DataOciIdentityDomainsAuthenticationFactorSettingClientAppSettingsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicy {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicyToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicy): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicyToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicy): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicyOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicy | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicy | undefined);
    get action(): string;
    get name(): string;
    get value(): string;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicyList 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): DataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicyOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingEmailSettings {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingEmailSettingsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingEmailSettings): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingEmailSettingsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingEmailSettings): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingEmailSettingsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingEmailSettings | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingEmailSettings | undefined);
    get emailLinkCustomUrl(): string;
    get emailLinkEnabled(): cdktf.IResolvable;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingEmailSettingsList 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): DataOciIdentityDomainsAuthenticationFactorSettingEmailSettingsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictions {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictionsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictions): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictionsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictions): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictionsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictions | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictions | undefined);
    get maxEndpointTrustDurationInDays(): number;
    get maxEnrolledDevices(): number;
    get maxIncorrectAttempts(): number;
    get maxTrustedEndpoints(): number;
    get trustedEndpointsEnabled(): cdktf.IResolvable;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictionsList 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): DataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictionsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedBy {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedByToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedBy): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedByToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedBy): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedByOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedBy | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedBy | undefined);
    get display(): string;
    get ocid(): string;
    get ref(): string;
    get type(): string;
    get value(): string;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedByList 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): DataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedByOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedBy {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedByToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedBy): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedByToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedBy): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedByOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedBy | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedBy | undefined);
    get display(): string;
    get ocid(): string;
    get ref(): string;
    get type(): string;
    get value(): string;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedByList 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): DataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedByOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettings {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettingsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettings): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettingsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettings): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettingsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettings | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettings | undefined);
    get mobileNumberEnabled(): cdktf.IResolvable;
    get mobileNumberUpdateEnabled(): cdktf.IResolvable;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettingsList 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): DataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettingsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingMeta {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingMetaToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingMeta): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingMetaToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingMeta): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingMetaOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingMeta | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingMeta | undefined);
    get created(): string;
    get lastModified(): string;
    get location(): string;
    get resourceType(): string;
    get version(): string;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingMetaList 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): DataOciIdentityDomainsAuthenticationFactorSettingMetaOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingNotificationSettings {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingNotificationSettingsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingNotificationSettings): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingNotificationSettingsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingNotificationSettings): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingNotificationSettingsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingNotificationSettings | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingNotificationSettings | undefined);
    get pullEnabled(): cdktf.IResolvable;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingNotificationSettingsList 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): DataOciIdentityDomainsAuthenticationFactorSettingNotificationSettingsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingTags {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingTagsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingTags): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingTagsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingTags): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingTagsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingTags | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingTags | undefined);
    get key(): string;
    get value(): string;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingTagsList 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): DataOciIdentityDomainsAuthenticationFactorSettingTagsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactor {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactorToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactor): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactorToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactor): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactorOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactor | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactor | undefined);
    get duoSecurity(): cdktf.IResolvable;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactorList 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): DataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactorOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingTotpSettings {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingTotpSettingsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingTotpSettings): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingTotpSettingsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingTotpSettings): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingTotpSettingsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingTotpSettings | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingTotpSettings | undefined);
    get emailOtpValidityDurationInMins(): number;
    get emailPasscodeLength(): number;
    get hashingAlgorithm(): string;
    get jwtValidityDurationInSecs(): number;
    get keyRefreshIntervalInDays(): number;
    get passcodeLength(): number;
    get smsOtpValidityDurationInMins(): number;
    get smsPasscodeLength(): number;
    get timeStepInSecs(): number;
    get timeStepTolerance(): number;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingTotpSettingsList 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): DataOciIdentityDomainsAuthenticationFactorSettingTotpSettingsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettings {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettingsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettings): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettingsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettings): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettingsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettings | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettings | undefined);
    get attestation(): string;
    get authenticatorSelectionAttachment(): string;
    get authenticatorSelectionRequireResidentKey(): cdktf.IResolvable;
    get authenticatorSelectionResidentKey(): string;
    get authenticatorSelectionUserVerification(): string;
    get domainValidationLevel(): number;
    get excludeCredentials(): cdktf.IResolvable;
    get publicKeyTypes(): string[];
    get timeout(): number;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettingsList 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): DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettingsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettings {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettingsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettings): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettingsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettings): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettingsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettings | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettings | undefined);
    get apiHostname(): string;
    get attestationKey(): string;
    get integrationKey(): string;
    get secretKey(): string;
    get userMappingAttribute(): string;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettingsList 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): DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettingsOutputReference;
}
export interface DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettings {
}
export declare function dataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsToTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettings): any;
export declare function dataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsToHclTerraform(struct?: DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettings): any;
export declare class DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsOutputReference 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(): DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettings | undefined;
    set internalValue(value: DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettings | undefined);
    private _duoSecuritySettings;
    get duoSecuritySettings(): DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsDuoSecuritySettingsList;
}
export declare class DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsList 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): DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/identity_domains_authentication_factor_setting oci_identity_domains_authentication_factor_setting}
*/
export declare class DataOciIdentityDomainsAuthenticationFactorSetting extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_identity_domains_authentication_factor_setting";
    /**
    * Generates CDKTF code for importing a DataOciIdentityDomainsAuthenticationFactorSetting 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 DataOciIdentityDomainsAuthenticationFactorSetting to import
    * @param importFromId The id of the existing DataOciIdentityDomainsAuthenticationFactorSetting that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/identity_domains_authentication_factor_setting#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciIdentityDomainsAuthenticationFactorSetting 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/data-sources/identity_domains_authentication_factor_setting oci_identity_domains_authentication_factor_setting} Data Source
    *
    * @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 DataOciIdentityDomainsAuthenticationFactorSettingConfig
    */
    constructor(scope: Construct, id: string, config: DataOciIdentityDomainsAuthenticationFactorSettingConfig);
    private _attributeSets?;
    get attributeSets(): string[];
    set attributeSets(value: string[]);
    resetAttributeSets(): void;
    get attributeSetsInput(): string[] | undefined;
    private _attributes?;
    get attributes(): string;
    set attributes(value: string);
    resetAttributes(): void;
    get attributesInput(): string | undefined;
    private _authenticationFactorSettingId?;
    get authenticationFactorSettingId(): string;
    set authenticationFactorSettingId(value: string);
    resetAuthenticationFactorSettingId(): void;
    get authenticationFactorSettingIdInput(): string | undefined;
    private _authorization?;
    get authorization(): string;
    set authorization(value: string);
    resetAuthorization(): void;
    get authorizationInput(): string | undefined;
    get autoEnrollEmailFactorDisabled(): cdktf.IResolvable;
    get bypassCodeEnabled(): cdktf.IResolvable;
    private _bypassCodeSettings;
    get bypassCodeSettings(): DataOciIdentityDomainsAuthenticationFactorSettingBypassCodeSettingsList;
    private _clientAppSettings;
    get clientAppSettings(): DataOciIdentityDomainsAuthenticationFactorSettingClientAppSettingsList;
    get compartmentOcid(): string;
    private _compliancePolicy;
    get compliancePolicy(): DataOciIdentityDomainsAuthenticationFactorSettingCompliancePolicyList;
    get deleteInProgress(): cdktf.IResolvable;
    get domainOcid(): string;
    get emailEnabled(): cdktf.IResolvable;
    private _emailSettings;
    get emailSettings(): DataOciIdentityDomainsAuthenticationFactorSettingEmailSettingsList;
    private _endpointRestrictions;
    get endpointRestrictions(): DataOciIdentityDomainsAuthenticationFactorSettingEndpointRestrictionsList;
    get fidoAuthenticatorEnabled(): cdktf.IResolvable;
    get hideBackupFactorEnabled(): cdktf.IResolvable;
    get id(): string;
    private _idcsCreatedBy;
    get idcsCreatedBy(): DataOciIdentityDomainsAuthenticationFactorSettingIdcsCreatedByList;
    private _idcsEndpoint?;
    get idcsEndpoint(): string;
    set idcsEndpoint(value: string);
    get idcsEndpointInput(): string | undefined;
    private _idcsLastModifiedBy;
    get idcsLastModifiedBy(): DataOciIdentityDomainsAuthenticationFactorSettingIdcsLastModifiedByList;
    get idcsLastUpgradedInRelease(): string;
    get idcsPreventedOperations(): string[];
    private _identityStoreSettings;
    get identityStoreSettings(): DataOciIdentityDomainsAuthenticationFactorSettingIdentityStoreSettingsList;
    private _meta;
    get meta(): DataOciIdentityDomainsAuthenticationFactorSettingMetaList;
    get mfaEnabledCategory(): string;
    get mfaEnrollmentType(): string;
    private _notificationSettings;
    get notificationSettings(): DataOciIdentityDomainsAuthenticationFactorSettingNotificationSettingsList;
    get ocid(): string;
    get phoneCallEnabled(): cdktf.IResolvable;
    get pushEnabled(): cdktf.IResolvable;
    private _resourceTypeSchemaVersion?;
    get resourceTypeSchemaVersion(): string;
    set resourceTypeSchemaVersion(value: string);
    resetResourceTypeSchemaVersion(): void;
    get resourceTypeSchemaVersionInput(): string | undefined;
    get schemas(): string[];
    get securityQuestionsEnabled(): cdktf.IResolvable;
    get smsEnabled(): cdktf.IResolvable;
    private _tags;
    get tags(): DataOciIdentityDomainsAuthenticationFactorSettingTagsList;
    get tenancyOcid(): string;
    private _thirdPartyFactor;
    get thirdPartyFactor(): DataOciIdentityDomainsAuthenticationFactorSettingThirdPartyFactorList;
    get totpEnabled(): cdktf.IResolvable;
    private _totpSettings;
    get totpSettings(): DataOciIdentityDomainsAuthenticationFactorSettingTotpSettingsList;
    private _urnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettings;
    get urnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettings(): DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettingsList;
    private _urnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettings;
    get urnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettings(): DataOciIdentityDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettingsList;
    get userEnrollmentDisabledFactors(): string[];
    get yubicoOtpEnabled(): cdktf.IResolvable;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
