import * as core from "@terrascript/core";
export interface AnalyticsConfigurationArgs extends core.SchemaArgs {
    applicationArn?: string | core.StringOut;
    applicationId?: string | core.StringOut;
    externalId?: string | core.StringOut;
    roleArn?: string | core.StringOut;
    userDataShared?: boolean | core.BooleanOut;
}
export declare class AnalyticsConfiguration extends core.Schema<AnalyticsConfigurationArgs> {
    applicationArn?: string | core.StringOut;
    applicationId?: string | core.StringOut;
    externalId?: string | core.StringOut;
    roleArn?: string | core.StringOut;
    userDataShared?: boolean | core.BooleanOut;
}
export interface TokenValidityUnitsArgs extends core.SchemaArgs {
    accessToken?: string | core.StringOut;
    idToken?: string | core.StringOut;
    refreshToken?: string | core.StringOut;
}
export declare class TokenValidityUnits extends core.Schema<TokenValidityUnitsArgs> {
    accessToken?: string | core.StringOut;
    idToken?: string | core.StringOut;
    refreshToken?: string | core.StringOut;
}
export interface UserPoolClientArgs extends core.ResourceArgs {
    /**
     * (Optional) Time limit, between 5 minutes and 1 day, after which the access token is no longer valid
     * and cannot be used. This value will be overridden if you have entered a value in `token_validity_uni
     * ts`.
     */
    accessTokenValidity?: number | core.NumberOut;
    /**
     * (Optional) List of allowed OAuth flows (code, implicit, client_credentials).
     */
    allowedOauthFlows?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Whether the client is allowed to follow the OAuth protocol when interacting with Cognito
     * user pools.
     */
    allowedOauthFlowsUserPoolClient?: boolean | core.BooleanOut;
    /**
     * (Optional) List of allowed OAuth scopes (phone, email, openid, profile, and aws.cognito.signin.user.
     * admin).
     */
    allowedOauthScopes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Configuration block for Amazon Pinpoint analytics for collecting metrics for this user po
     * ol. [Detailed below](#analytics_configuration).
     */
    analyticsConfiguration?: AnalyticsConfiguration;
    /**
     * (Optional) List of allowed callback URLs for the identity providers.
     */
    callbackUrls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Default redirect URI. Must be in the list of callback URLs.
     */
    defaultRedirectUri?: string | core.StringOut;
    /**
     * (Optional) Activates the propagation of additional user context data.
     */
    enablePropagateAdditionalUserContextData?: boolean | core.BooleanOut;
    /**
     * (Optional) Enables or disables token revocation.
     */
    enableTokenRevocation?: boolean | core.BooleanOut;
    /**
     * (Optional) List of authentication flows (ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, USER_PASSWORD_AUT
     * H, ALLOW_ADMIN_USER_PASSWORD_AUTH, ALLOW_CUSTOM_AUTH, ALLOW_USER_PASSWORD_AUTH, ALLOW_USER_SRP_AUTH,
     * ALLOW_REFRESH_TOKEN_AUTH).
     */
    explicitAuthFlows?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Should an application secret be generated.
     */
    generateSecret?: boolean | core.BooleanOut;
    /**
     * (Optional) Time limit, between 5 minutes and 1 day, after which the ID token is no longer valid and
     * cannot be used. This value will be overridden if you have entered a value in `token_validity_units`.
     */
    idTokenValidity?: number | core.NumberOut;
    /**
     * (Optional) List of allowed logout URLs for the identity providers.
     */
    logoutUrls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Required) Name of the application client.
     */
    name: string | core.StringOut;
    /**
     * (Optional) Choose which errors and responses are returned by Cognito APIs during authentication, acc
     * ount confirmation, and password recovery when the user does not exist in the user pool. When set to
     * ENABLED` and the user does not exist, authentication returns an error indicating either the usernam
     * e or password was incorrect, and account confirmation and password recovery return a response indica
     * ting a code was sent to a simulated destination. When set to `LEGACY`, those APIs will return a `Use
     * rNotFoundException` exception if the user does not exist in the user pool.
     */
    preventUserExistenceErrors?: string | core.StringOut;
    /**
     * (Optional) List of user pool attributes the application client can read from.
     */
    readAttributes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Time limit in days refresh tokens are valid for.
     */
    refreshTokenValidity?: number | core.NumberOut;
    /**
     * (Optional) List of provider names for the identity providers that are supported on this client. Uses
     * the `provider_name` attribute of `aws_cognito_identity_provider` resource(s), or the equivalent str
     * ing(s).
     */
    supportedIdentityProviders?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Configuration block for units in which the validity times are represented in. [Detailed b
     * elow](#token_validity_units).
     */
    tokenValidityUnits?: TokenValidityUnits;
    /**
     * (Required) User pool the client belongs to.
     */
    userPoolId: string | core.StringOut;
    /**
     * (Optional) List of user pool attributes the application client can write to.
     */
    writeAttributes?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class UserPoolClient extends core.Resource<UserPoolClientArgs> {
    /**
     * (Optional) Time limit, between 5 minutes and 1 day, after which the access token is no longer valid
     * and cannot be used. This value will be overridden if you have entered a value in `token_validity_uni
     * ts`.
     */
    accessTokenValidity?: number | core.NumberOut;
    /**
     * (Optional) List of allowed OAuth flows (code, implicit, client_credentials).
     */
    allowedOauthFlows?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Whether the client is allowed to follow the OAuth protocol when interacting with Cognito
     * user pools.
     */
    allowedOauthFlowsUserPoolClient?: boolean | core.BooleanOut;
    /**
     * (Optional) List of allowed OAuth scopes (phone, email, openid, profile, and aws.cognito.signin.user.
     * admin).
     */
    allowedOauthScopes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Configuration block for Amazon Pinpoint analytics for collecting metrics for this user po
     * ol. [Detailed below](#analytics_configuration).
     */
    analyticsConfiguration?: AnalyticsConfiguration;
    /**
     * (Optional) List of allowed callback URLs for the identity providers.
     */
    callbackUrls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * Client secret of the user pool client.
     */
    clientSecret: string | core.StringOut;
    /**
     * (Optional) Default redirect URI. Must be in the list of callback URLs.
     */
    defaultRedirectUri?: string | core.StringOut;
    /**
     * (Optional) Activates the propagation of additional user context data.
     */
    enablePropagateAdditionalUserContextData?: boolean | core.BooleanOut;
    /**
     * (Optional) Enables or disables token revocation.
     */
    enableTokenRevocation?: boolean | core.BooleanOut;
    /**
     * (Optional) List of authentication flows (ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, USER_PASSWORD_AUT
     * H, ALLOW_ADMIN_USER_PASSWORD_AUTH, ALLOW_CUSTOM_AUTH, ALLOW_USER_PASSWORD_AUTH, ALLOW_USER_SRP_AUTH,
     * ALLOW_REFRESH_TOKEN_AUTH).
     */
    explicitAuthFlows?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Should an application secret be generated.
     */
    generateSecret?: boolean | core.BooleanOut;
    /**
     * ID of the user pool client.
     */
    id: string | core.StringOut;
    /**
     * (Optional) Time limit, between 5 minutes and 1 day, after which the ID token is no longer valid and
     * cannot be used. This value will be overridden if you have entered a value in `token_validity_units`.
     */
    idTokenValidity?: number | core.NumberOut;
    /**
     * (Optional) List of allowed logout URLs for the identity providers.
     */
    logoutUrls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Required) Name of the application client.
     */
    name: string | core.StringOut;
    /**
     * (Optional) Choose which errors and responses are returned by Cognito APIs during authentication, acc
     * ount confirmation, and password recovery when the user does not exist in the user pool. When set to
     * ENABLED` and the user does not exist, authentication returns an error indicating either the usernam
     * e or password was incorrect, and account confirmation and password recovery return a response indica
     * ting a code was sent to a simulated destination. When set to `LEGACY`, those APIs will return a `Use
     * rNotFoundException` exception if the user does not exist in the user pool.
     */
    preventUserExistenceErrors?: string | core.StringOut;
    /**
     * (Optional) List of user pool attributes the application client can read from.
     */
    readAttributes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Time limit in days refresh tokens are valid for.
     */
    refreshTokenValidity?: number | core.NumberOut;
    /**
     * (Optional) List of provider names for the identity providers that are supported on this client. Uses
     * the `provider_name` attribute of `aws_cognito_identity_provider` resource(s), or the equivalent str
     * ing(s).
     */
    supportedIdentityProviders?: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Optional) Configuration block for units in which the validity times are represented in. [Detailed b
     * elow](#token_validity_units).
     */
    tokenValidityUnits?: TokenValidityUnits;
    /**
     * (Required) User pool the client belongs to.
     */
    userPoolId: string | core.StringOut;
    /**
     * (Optional) List of user pool attributes the application client can write to.
     */
    writeAttributes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    constructor(name: string, args?: UserPoolClientArgs);
    getNamespace(): string;
}
//# sourceMappingURL=user_pool_client.d.ts.map