import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface IdentityDomainsSocialIdentityProviderConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#access_token_url IdentityDomainsSocialIdentityProvider#access_token_url}
    */
    readonly accessTokenUrl?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#account_linking_enabled IdentityDomainsSocialIdentityProvider#account_linking_enabled}
    */
    readonly accountLinkingEnabled: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#admin_scope IdentityDomainsSocialIdentityProvider#admin_scope}
    */
    readonly adminScope?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#authorization IdentityDomainsSocialIdentityProvider#authorization}
    */
    readonly authorization?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#authz_url IdentityDomainsSocialIdentityProvider#authz_url}
    */
    readonly authzUrl?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#auto_redirect_enabled IdentityDomainsSocialIdentityProvider#auto_redirect_enabled}
    */
    readonly autoRedirectEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#client_credential_in_payload IdentityDomainsSocialIdentityProvider#client_credential_in_payload}
    */
    readonly clientCredentialInPayload?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#clock_skew_in_seconds IdentityDomainsSocialIdentityProvider#clock_skew_in_seconds}
    */
    readonly clockSkewInSeconds?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#consumer_key IdentityDomainsSocialIdentityProvider#consumer_key}
    */
    readonly consumerKey: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#consumer_secret IdentityDomainsSocialIdentityProvider#consumer_secret}
    */
    readonly consumerSecret: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#description IdentityDomainsSocialIdentityProvider#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#discovery_url IdentityDomainsSocialIdentityProvider#discovery_url}
    */
    readonly discoveryUrl?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#enabled IdentityDomainsSocialIdentityProvider#enabled}
    */
    readonly enabled: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#icon_url IdentityDomainsSocialIdentityProvider#icon_url}
    */
    readonly iconUrl?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#id IdentityDomainsSocialIdentityProvider#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/identity_domains_social_identity_provider#id_attribute IdentityDomainsSocialIdentityProvider#id_attribute}
    */
    readonly idAttribute?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#idcs_endpoint IdentityDomainsSocialIdentityProvider#idcs_endpoint}
    */
    readonly idcsEndpoint: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#jit_prov_group_static_list_enabled IdentityDomainsSocialIdentityProvider#jit_prov_group_static_list_enabled}
    */
    readonly jitProvGroupStaticListEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#name IdentityDomainsSocialIdentityProvider#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#ocid IdentityDomainsSocialIdentityProvider#ocid}
    */
    readonly ocid?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#profile_url IdentityDomainsSocialIdentityProvider#profile_url}
    */
    readonly profileUrl?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#redirect_url IdentityDomainsSocialIdentityProvider#redirect_url}
    */
    readonly redirectUrl?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#refresh_token_url IdentityDomainsSocialIdentityProvider#refresh_token_url}
    */
    readonly refreshTokenUrl?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#registration_enabled IdentityDomainsSocialIdentityProvider#registration_enabled}
    */
    readonly registrationEnabled: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#resource_type_schema_version IdentityDomainsSocialIdentityProvider#resource_type_schema_version}
    */
    readonly resourceTypeSchemaVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#schemas IdentityDomainsSocialIdentityProvider#schemas}
    */
    readonly schemas: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#scope IdentityDomainsSocialIdentityProvider#scope}
    */
    readonly scope?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#service_provider_name IdentityDomainsSocialIdentityProvider#service_provider_name}
    */
    readonly serviceProviderName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#show_on_login IdentityDomainsSocialIdentityProvider#show_on_login}
    */
    readonly showOnLogin: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#social_jit_provisioning_enabled IdentityDomainsSocialIdentityProvider#social_jit_provisioning_enabled}
    */
    readonly socialJitProvisioningEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#status IdentityDomainsSocialIdentityProvider#status}
    */
    readonly status?: string;
    /**
    * jit_prov_assigned_groups block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#jit_prov_assigned_groups IdentityDomainsSocialIdentityProvider#jit_prov_assigned_groups}
    */
    readonly jitProvAssignedGroups?: IdentityDomainsSocialIdentityProviderJitProvAssignedGroups[] | cdktf.IResolvable;
    /**
    * relay_idp_param_mappings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#relay_idp_param_mappings IdentityDomainsSocialIdentityProvider#relay_idp_param_mappings}
    */
    readonly relayIdpParamMappings?: IdentityDomainsSocialIdentityProviderRelayIdpParamMappings[] | cdktf.IResolvable;
    /**
    * tags block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#tags IdentityDomainsSocialIdentityProvider#tags}
    */
    readonly tags?: IdentityDomainsSocialIdentityProviderTags[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#timeouts IdentityDomainsSocialIdentityProvider#timeouts}
    */
    readonly timeouts?: IdentityDomainsSocialIdentityProviderTimeouts;
}
export interface IdentityDomainsSocialIdentityProviderIdcsCreatedBy {
}
export declare function identityDomainsSocialIdentityProviderIdcsCreatedByToTerraform(struct?: IdentityDomainsSocialIdentityProviderIdcsCreatedBy): any;
export declare function identityDomainsSocialIdentityProviderIdcsCreatedByToHclTerraform(struct?: IdentityDomainsSocialIdentityProviderIdcsCreatedBy): any;
export declare class IdentityDomainsSocialIdentityProviderIdcsCreatedByOutputReference 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(): IdentityDomainsSocialIdentityProviderIdcsCreatedBy | undefined;
    set internalValue(value: IdentityDomainsSocialIdentityProviderIdcsCreatedBy | undefined);
    get display(): string;
    get ocid(): string;
    get ref(): string;
    get type(): string;
    get value(): string;
}
export declare class IdentityDomainsSocialIdentityProviderIdcsCreatedByList 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): IdentityDomainsSocialIdentityProviderIdcsCreatedByOutputReference;
}
export interface IdentityDomainsSocialIdentityProviderIdcsLastModifiedBy {
}
export declare function identityDomainsSocialIdentityProviderIdcsLastModifiedByToTerraform(struct?: IdentityDomainsSocialIdentityProviderIdcsLastModifiedBy): any;
export declare function identityDomainsSocialIdentityProviderIdcsLastModifiedByToHclTerraform(struct?: IdentityDomainsSocialIdentityProviderIdcsLastModifiedBy): any;
export declare class IdentityDomainsSocialIdentityProviderIdcsLastModifiedByOutputReference 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(): IdentityDomainsSocialIdentityProviderIdcsLastModifiedBy | undefined;
    set internalValue(value: IdentityDomainsSocialIdentityProviderIdcsLastModifiedBy | undefined);
    get display(): string;
    get ocid(): string;
    get ref(): string;
    get type(): string;
    get value(): string;
}
export declare class IdentityDomainsSocialIdentityProviderIdcsLastModifiedByList 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): IdentityDomainsSocialIdentityProviderIdcsLastModifiedByOutputReference;
}
export interface IdentityDomainsSocialIdentityProviderMeta {
}
export declare function identityDomainsSocialIdentityProviderMetaToTerraform(struct?: IdentityDomainsSocialIdentityProviderMeta): any;
export declare function identityDomainsSocialIdentityProviderMetaToHclTerraform(struct?: IdentityDomainsSocialIdentityProviderMeta): any;
export declare class IdentityDomainsSocialIdentityProviderMetaOutputReference 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(): IdentityDomainsSocialIdentityProviderMeta | undefined;
    set internalValue(value: IdentityDomainsSocialIdentityProviderMeta | undefined);
    get created(): string;
    get lastModified(): string;
    get location(): string;
    get resourceType(): string;
    get version(): string;
}
export declare class IdentityDomainsSocialIdentityProviderMetaList 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): IdentityDomainsSocialIdentityProviderMetaOutputReference;
}
export interface IdentityDomainsSocialIdentityProviderJitProvAssignedGroups {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#value IdentityDomainsSocialIdentityProvider#value}
    */
    readonly value: string;
}
export declare function identityDomainsSocialIdentityProviderJitProvAssignedGroupsToTerraform(struct?: IdentityDomainsSocialIdentityProviderJitProvAssignedGroups | cdktf.IResolvable): any;
export declare function identityDomainsSocialIdentityProviderJitProvAssignedGroupsToHclTerraform(struct?: IdentityDomainsSocialIdentityProviderJitProvAssignedGroups | cdktf.IResolvable): any;
export declare class IdentityDomainsSocialIdentityProviderJitProvAssignedGroupsOutputReference 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(): IdentityDomainsSocialIdentityProviderJitProvAssignedGroups | cdktf.IResolvable | undefined;
    set internalValue(value: IdentityDomainsSocialIdentityProviderJitProvAssignedGroups | cdktf.IResolvable | undefined);
    get display(): string;
    get ref(): string;
    private _value?;
    get value(): string;
    set value(value: string);
    get valueInput(): string | undefined;
}
export declare class IdentityDomainsSocialIdentityProviderJitProvAssignedGroupsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: IdentityDomainsSocialIdentityProviderJitProvAssignedGroups[] | 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): IdentityDomainsSocialIdentityProviderJitProvAssignedGroupsOutputReference;
}
export interface IdentityDomainsSocialIdentityProviderRelayIdpParamMappings {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#relay_param_key IdentityDomainsSocialIdentityProvider#relay_param_key}
    */
    readonly relayParamKey: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#relay_param_value IdentityDomainsSocialIdentityProvider#relay_param_value}
    */
    readonly relayParamValue?: string;
}
export declare function identityDomainsSocialIdentityProviderRelayIdpParamMappingsToTerraform(struct?: IdentityDomainsSocialIdentityProviderRelayIdpParamMappings | cdktf.IResolvable): any;
export declare function identityDomainsSocialIdentityProviderRelayIdpParamMappingsToHclTerraform(struct?: IdentityDomainsSocialIdentityProviderRelayIdpParamMappings | cdktf.IResolvable): any;
export declare class IdentityDomainsSocialIdentityProviderRelayIdpParamMappingsOutputReference 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(): IdentityDomainsSocialIdentityProviderRelayIdpParamMappings | cdktf.IResolvable | undefined;
    set internalValue(value: IdentityDomainsSocialIdentityProviderRelayIdpParamMappings | cdktf.IResolvable | undefined);
    private _relayParamKey?;
    get relayParamKey(): string;
    set relayParamKey(value: string);
    get relayParamKeyInput(): string | undefined;
    private _relayParamValue?;
    get relayParamValue(): string;
    set relayParamValue(value: string);
    resetRelayParamValue(): void;
    get relayParamValueInput(): string | undefined;
}
export declare class IdentityDomainsSocialIdentityProviderRelayIdpParamMappingsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: IdentityDomainsSocialIdentityProviderRelayIdpParamMappings[] | 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): IdentityDomainsSocialIdentityProviderRelayIdpParamMappingsOutputReference;
}
export interface IdentityDomainsSocialIdentityProviderTags {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#key IdentityDomainsSocialIdentityProvider#key}
    */
    readonly key: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#value IdentityDomainsSocialIdentityProvider#value}
    */
    readonly value: string;
}
export declare function identityDomainsSocialIdentityProviderTagsToTerraform(struct?: IdentityDomainsSocialIdentityProviderTags | cdktf.IResolvable): any;
export declare function identityDomainsSocialIdentityProviderTagsToHclTerraform(struct?: IdentityDomainsSocialIdentityProviderTags | cdktf.IResolvable): any;
export declare class IdentityDomainsSocialIdentityProviderTagsOutputReference 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(): IdentityDomainsSocialIdentityProviderTags | cdktf.IResolvable | undefined;
    set internalValue(value: IdentityDomainsSocialIdentityProviderTags | cdktf.IResolvable | undefined);
    private _key?;
    get key(): string;
    set key(value: string);
    get keyInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    get valueInput(): string | undefined;
}
export declare class IdentityDomainsSocialIdentityProviderTagsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: IdentityDomainsSocialIdentityProviderTags[] | 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): IdentityDomainsSocialIdentityProviderTagsOutputReference;
}
export interface IdentityDomainsSocialIdentityProviderTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#create IdentityDomainsSocialIdentityProvider#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#delete IdentityDomainsSocialIdentityProvider#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#update IdentityDomainsSocialIdentityProvider#update}
    */
    readonly update?: string;
}
export declare function identityDomainsSocialIdentityProviderTimeoutsToTerraform(struct?: IdentityDomainsSocialIdentityProviderTimeouts | cdktf.IResolvable): any;
export declare function identityDomainsSocialIdentityProviderTimeoutsToHclTerraform(struct?: IdentityDomainsSocialIdentityProviderTimeouts | cdktf.IResolvable): any;
export declare class IdentityDomainsSocialIdentityProviderTimeoutsOutputReference 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(): IdentityDomainsSocialIdentityProviderTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: IdentityDomainsSocialIdentityProviderTimeouts | 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/identity_domains_social_identity_provider oci_identity_domains_social_identity_provider}
*/
export declare class IdentityDomainsSocialIdentityProvider extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_identity_domains_social_identity_provider";
    /**
    * Generates CDKTF code for importing a IdentityDomainsSocialIdentityProvider 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 IdentityDomainsSocialIdentityProvider to import
    * @param importFromId The id of the existing IdentityDomainsSocialIdentityProvider that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/identity_domains_social_identity_provider#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the IdentityDomainsSocialIdentityProvider 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/identity_domains_social_identity_provider oci_identity_domains_social_identity_provider} 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 IdentityDomainsSocialIdentityProviderConfig
    */
    constructor(scope: Construct, id: string, config: IdentityDomainsSocialIdentityProviderConfig);
    private _accessTokenUrl?;
    get accessTokenUrl(): string;
    set accessTokenUrl(value: string);
    resetAccessTokenUrl(): void;
    get accessTokenUrlInput(): string | undefined;
    private _accountLinkingEnabled?;
    get accountLinkingEnabled(): boolean | cdktf.IResolvable;
    set accountLinkingEnabled(value: boolean | cdktf.IResolvable);
    get accountLinkingEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _adminScope?;
    get adminScope(): string[];
    set adminScope(value: string[]);
    resetAdminScope(): void;
    get adminScopeInput(): string[] | undefined;
    private _authorization?;
    get authorization(): string;
    set authorization(value: string);
    resetAuthorization(): void;
    get authorizationInput(): string | undefined;
    private _authzUrl?;
    get authzUrl(): string;
    set authzUrl(value: string);
    resetAuthzUrl(): void;
    get authzUrlInput(): string | undefined;
    private _autoRedirectEnabled?;
    get autoRedirectEnabled(): boolean | cdktf.IResolvable;
    set autoRedirectEnabled(value: boolean | cdktf.IResolvable);
    resetAutoRedirectEnabled(): void;
    get autoRedirectEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _clientCredentialInPayload?;
    get clientCredentialInPayload(): boolean | cdktf.IResolvable;
    set clientCredentialInPayload(value: boolean | cdktf.IResolvable);
    resetClientCredentialInPayload(): void;
    get clientCredentialInPayloadInput(): boolean | cdktf.IResolvable | undefined;
    private _clockSkewInSeconds?;
    get clockSkewInSeconds(): number;
    set clockSkewInSeconds(value: number);
    resetClockSkewInSeconds(): void;
    get clockSkewInSecondsInput(): number | undefined;
    get compartmentOcid(): string;
    private _consumerKey?;
    get consumerKey(): string;
    set consumerKey(value: string);
    get consumerKeyInput(): string | undefined;
    private _consumerSecret?;
    get consumerSecret(): string;
    set consumerSecret(value: string);
    get consumerSecretInput(): string | undefined;
    get deleteInProgress(): cdktf.IResolvable;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _discoveryUrl?;
    get discoveryUrl(): string;
    set discoveryUrl(value: string);
    resetDiscoveryUrl(): void;
    get discoveryUrlInput(): string | undefined;
    get domainOcid(): string;
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _iconUrl?;
    get iconUrl(): string;
    set iconUrl(value: string);
    resetIconUrl(): void;
    get iconUrlInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _idAttribute?;
    get idAttribute(): string;
    set idAttribute(value: string);
    resetIdAttribute(): void;
    get idAttributeInput(): string | undefined;
    private _idcsCreatedBy;
    get idcsCreatedBy(): IdentityDomainsSocialIdentityProviderIdcsCreatedByList;
    private _idcsEndpoint?;
    get idcsEndpoint(): string;
    set idcsEndpoint(value: string);
    get idcsEndpointInput(): string | undefined;
    private _idcsLastModifiedBy;
    get idcsLastModifiedBy(): IdentityDomainsSocialIdentityProviderIdcsLastModifiedByList;
    get idcsLastUpgradedInRelease(): string;
    get idcsPreventedOperations(): string[];
    private _jitProvGroupStaticListEnabled?;
    get jitProvGroupStaticListEnabled(): boolean | cdktf.IResolvable;
    set jitProvGroupStaticListEnabled(value: boolean | cdktf.IResolvable);
    resetJitProvGroupStaticListEnabled(): void;
    get jitProvGroupStaticListEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _meta;
    get meta(): IdentityDomainsSocialIdentityProviderMetaList;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _ocid?;
    get ocid(): string;
    set ocid(value: string);
    resetOcid(): void;
    get ocidInput(): string | undefined;
    private _profileUrl?;
    get profileUrl(): string;
    set profileUrl(value: string);
    resetProfileUrl(): void;
    get profileUrlInput(): string | undefined;
    private _redirectUrl?;
    get redirectUrl(): string;
    set redirectUrl(value: string);
    resetRedirectUrl(): void;
    get redirectUrlInput(): string | undefined;
    private _refreshTokenUrl?;
    get refreshTokenUrl(): string;
    set refreshTokenUrl(value: string);
    resetRefreshTokenUrl(): void;
    get refreshTokenUrlInput(): string | undefined;
    private _registrationEnabled?;
    get registrationEnabled(): boolean | cdktf.IResolvable;
    set registrationEnabled(value: boolean | cdktf.IResolvable);
    get registrationEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _resourceTypeSchemaVersion?;
    get resourceTypeSchemaVersion(): string;
    set resourceTypeSchemaVersion(value: string);
    resetResourceTypeSchemaVersion(): void;
    get resourceTypeSchemaVersionInput(): string | undefined;
    private _schemas?;
    get schemas(): string[];
    set schemas(value: string[]);
    get schemasInput(): string[] | undefined;
    private _scope?;
    get scope(): string[];
    set scope(value: string[]);
    resetScope(): void;
    get scopeInput(): string[] | undefined;
    private _serviceProviderName?;
    get serviceProviderName(): string;
    set serviceProviderName(value: string);
    get serviceProviderNameInput(): string | undefined;
    private _showOnLogin?;
    get showOnLogin(): boolean | cdktf.IResolvable;
    set showOnLogin(value: boolean | cdktf.IResolvable);
    get showOnLoginInput(): boolean | cdktf.IResolvable | undefined;
    private _socialJitProvisioningEnabled?;
    get socialJitProvisioningEnabled(): boolean | cdktf.IResolvable;
    set socialJitProvisioningEnabled(value: boolean | cdktf.IResolvable);
    resetSocialJitProvisioningEnabled(): void;
    get socialJitProvisioningEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _status?;
    get status(): string;
    set status(value: string);
    resetStatus(): void;
    get statusInput(): string | undefined;
    get tenancyOcid(): string;
    private _jitProvAssignedGroups;
    get jitProvAssignedGroups(): IdentityDomainsSocialIdentityProviderJitProvAssignedGroupsList;
    putJitProvAssignedGroups(value: IdentityDomainsSocialIdentityProviderJitProvAssignedGroups[] | cdktf.IResolvable): void;
    resetJitProvAssignedGroups(): void;
    get jitProvAssignedGroupsInput(): cdktf.IResolvable | IdentityDomainsSocialIdentityProviderJitProvAssignedGroups[] | undefined;
    private _relayIdpParamMappings;
    get relayIdpParamMappings(): IdentityDomainsSocialIdentityProviderRelayIdpParamMappingsList;
    putRelayIdpParamMappings(value: IdentityDomainsSocialIdentityProviderRelayIdpParamMappings[] | cdktf.IResolvable): void;
    resetRelayIdpParamMappings(): void;
    get relayIdpParamMappingsInput(): cdktf.IResolvable | IdentityDomainsSocialIdentityProviderRelayIdpParamMappings[] | undefined;
    private _tags;
    get tags(): IdentityDomainsSocialIdentityProviderTagsList;
    putTags(value: IdentityDomainsSocialIdentityProviderTags[] | cdktf.IResolvable): void;
    resetTags(): void;
    get tagsInput(): cdktf.IResolvable | IdentityDomainsSocialIdentityProviderTags[] | undefined;
    private _timeouts;
    get timeouts(): IdentityDomainsSocialIdentityProviderTimeoutsOutputReference;
    putTimeouts(value: IdentityDomainsSocialIdentityProviderTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | IdentityDomainsSocialIdentityProviderTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
