import { Construct } from "constructs";
import { CustomResource } from "aws-cdk-lib";
import { Auth0Props } from "../auth0-props";
import { Client } from "./../client";
interface ConnectionBaseProps extends Auth0Props {
    readonly connectionId?: string;
    readonly displayName?: string;
    readonly name?: string;
    readonly deletionProtection?: boolean;
    /**
     * The identity provider identifier for the connection
     * @default `"auth0"`
     */
    readonly strategy?: "ad" | "adfs" | "amazon" | "apple" | "dropbox" | "bitbucket" | "aol" | "auth0-oidc" | "auth0" | "baidu" | "bitly" | "box" | "custom" | "daccount" | "dwolla" | "email" | "evernote-sandbox" | "evernote" | "exact" | "facebook" | "fitbit" | "flickr" | "github" | "google-apps" | "google-oauth2" | "instagram" | "ip" | "line" | "linkedin" | "miicard" | "oauth1" | "oauth2" | "office365" | "oidc" | "okta" | "paypal" | "paypal-sandbox" | "pingfederate" | "planningcenter" | "renren" | "salesforce-community" | "salesforce-sandbox" | "salesforce" | "samlp" | "sharepoint" | "shopify" | "shop" | "sms" | "soundcloud" | "thecity-sandbox" | "thecity" | "thirtysevensignals" | "twitter" | "untappd" | "vkontakte" | "waad" | "weibo" | "windowslive" | "wordpress" | "yahoo" | "yammer" | "yandex";
    /**
     * The identifiers of the clients for which the connection is to be enabled.
     * If the array is empty or the property is not specified, no clients are enabled
     * @default `[]`
     */
    readonly enabledClients?: Array<Client>;
    /**
     * @default `false`
     */
    readonly isDomainConnection?: boolean;
    readonly disableSignup?: boolean;
}
declare class ConnectionBase extends CustomResource {
    readonly connectionId: string;
    readonly connectionName: string;
    constructor(scope: Construct, id: string, props: ConnectionBaseProps);
}
export interface ConnectionProps extends Auth0Props {
    /**
     * Connection name used in the new universal login experience
     */
    readonly displayName?: string;
    /**
     * The name of the connection
     */
    readonly name?: string;
    /**
     * If `true` the connection won't be deleted when the resource is deleted
     * @default `false`
     */
    readonly deletionProtection?: boolean;
    /**
     * The identity provider identifier for the connection
     * @default `"auth0"`
     */
    readonly strategy?: "ad" | "adfs" | "amazon" | "apple" | "dropbox" | "bitbucket" | "aol" | "auth0-oidc" | "auth0" | "baidu" | "bitly" | "box" | "custom" | "daccount" | "dwolla" | "email" | "evernote-sandbox" | "evernote" | "exact" | "facebook" | "fitbit" | "flickr" | "github" | "google-apps" | "google-oauth2" | "instagram" | "ip" | "line" | "linkedin" | "miicard" | "oauth1" | "oauth2" | "office365" | "oidc" | "okta" | "paypal" | "paypal-sandbox" | "pingfederate" | "planningcenter" | "renren" | "salesforce-community" | "salesforce-sandbox" | "salesforce" | "samlp" | "sharepoint" | "shopify" | "shop" | "sms" | "soundcloud" | "thecity-sandbox" | "thecity" | "thirtysevensignals" | "twitter" | "untappd" | "vkontakte" | "waad" | "weibo" | "windowslive" | "wordpress" | "yahoo" | "yammer" | "yandex";
    /**
     * The identifiers of the clients for which the connection is to be enabled. If the array is empty or the property is not specified, no clients are enabled.
     */
    readonly enabledClients?: Array<Client>;
    /**
     * Promotes to a domain-level connection so that third-party applications can use it.
     * @default `false`
     */
    readonly isDomainConnection?: boolean;
    readonly disableSignup?: boolean;
}
export interface ConnectionFromIdProps extends Auth0Props {
    /**
     * Id of the role.
     */
    readonly connectionId: string;
    /**
     * Connection name used in the new universal login experience
     */
    readonly displayName?: string;
    /**
     * If `true` the connection won't be deleted when the resource is deleted
     * @default `false`
     */
    readonly deletionProtection?: boolean;
    /**
     * The identifiers of the clients for which the connection is to be enabled. If the array is empty or the property is not specified, no clients are enabled
     */
    readonly enabledClients?: Array<Client>;
    /**
     * Promotes to a domain-level connection so that third-party applications can use it.
     * @default `false`
     */
    readonly isDomainConnection?: boolean;
    readonly disableSignup?: boolean;
}
/**
 * @category Constructs
 */
export declare class Connection extends ConnectionBase {
    constructor(scope: Construct, id: string, props: ConnectionProps);
    /**
     * @experimental
     */
    static fromConnectionId(scope: Construct, id: string, props: ConnectionFromIdProps): Connection;
}
export {};
