export interface Tag {
    /** The key in a tag. */
    Key: string;
    /** The value in a tag. */
    Value: string;
}
export interface LexConfiguration {
    /** Deprecated. Use InvokedBy instead. Determines whether the Amazon Lex V2 bot responds to all standard messages. Control messages are not supported. */
    RespondsTo?: 'STANDARD_MESSAGES';
    /** Specifies the type of message that triggers a bot. */
    InvokedBy?: any;
    /** The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS */
    LexBotAliasArn: string;
    /** Identifies the Amazon Lex V2 bot's language and locale. The string must match one of the supported locales in Amazon Lex V2. All of the intents, slot types, and slots used in the bot must have the sam */
    LocaleId: string;
    /** The name of the welcome intent configured in the Amazon Lex V2 bot. */
    WelcomeIntent?: string;
}
export interface Configuration {
    /** The configuration for an Amazon Lex V2 bot. */
    Lex: LexConfiguration;
}
export interface ExpirationSettings {
    /** The period in days after which an AppInstanceUser will be automatically deleted. */
    ExpirationDays: number;
    /** Specifies the conditions under which an AppInstanceUser will expire. */
    ExpirationCriterion: 'CREATED_TIMESTAMP';
}
export interface ChannelRetentionSettings {
    /** The time in days to retain the messages in a channel. */
    RetentionDays?: number;
}
export interface AppInstanceRetentionSettings {
    /** The length of time in days to retain the messages in a channel. */
    ChannelRetentionSettings?: ChannelRetentionSettings;
}
export interface EndpointAttributes {
    /** The device token for the GCM, APNS, and APNS_SANDBOX endpoint types. */
    DeviceToken: string;
    /** The VOIP device token for the APNS and APNS_SANDBOX endpoint types. */
    VoipDeviceToken?: string;
}
export interface CreateAppInstanceInput {
    /** The unique ID of the request. Use different tokens to create different AppInstances. */
    ClientRequestToken: string;
    /** The name of the AppInstance. */
    Name: string;
    /** The metadata of the AppInstance. Limited to a 1KB string in UTF-8. */
    Metadata?: string;
    /** Tags assigned to the AppInstance. */
    Tags?: Tag[];
}
export interface CreateAppInstanceAdminInput {
    /** The ARN of the administrator of the current AppInstance. */
    AppInstanceAdminArn: string;
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
}
export interface CreateAppInstanceBotInput {
    /** The ARN of the AppInstance request. */
    AppInstanceArn: string;
    /** The unique ID for the client making the request. Use different tokens for different AppInstanceBots. */
    ClientRequestToken: string;
    /** Configuration information about the Amazon Lex V2 V2 bot. */
    Configuration: Configuration;
    /** The request metadata. Limited to a 1KB string in UTF-8. */
    Metadata?: string;
    /** The user's name. */
    Name?: string;
    /** The tags assigned to the AppInstanceBot. */
    Tags?: Tag[];
}
export interface CreateAppInstanceUserInput {
    /** The ARN of the AppInstance request. */
    AppInstanceArn: string;
    /** The user ID of the AppInstance. */
    AppInstanceUserId: string;
    /** The unique ID of the request. Use different tokens to request additional AppInstances. */
    ClientRequestToken: string;
    /** The user's name. */
    Name: string;
    /** Settings that control the interval after which the AppInstanceUser is automatically deleted. */
    ExpirationSettings?: ExpirationSettings;
    /** The request's metadata. Limited to a 1KB string in UTF-8. */
    Metadata?: string;
    /** Tags assigned to the AppInstanceUser. */
    Tags?: Tag[];
}
export interface DeleteAppInstanceInput {
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
}
export interface DeleteAppInstanceAdminInput {
    /** The ARN of the AppInstance's administrator. */
    AppInstanceAdminArn: string;
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
}
export interface DeleteAppInstanceBotInput {
    /** The ARN of the AppInstanceBot being deleted. */
    AppInstanceBotArn: string;
}
export interface DeleteAppInstanceUserInput {
    /** The ARN of the user request being deleted. */
    AppInstanceUserArn: string;
}
export interface DeregisterAppInstanceUserEndpointInput {
    /** The ARN of the AppInstanceUser. */
    AppInstanceUserArn: string;
    /** The unique identifier of the AppInstanceUserEndpoint. */
    EndpointId: string;
}
export interface DescribeAppInstanceInput {
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
}
export interface DescribeAppInstanceAdminInput {
    /** The ARN of the AppInstanceAdmin. */
    AppInstanceAdminArn: string;
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
}
export interface DescribeAppInstanceBotInput {
    /** The ARN of the AppInstanceBot. */
    AppInstanceBotArn: string;
}
export interface DescribeAppInstanceUserInput {
    /** The ARN of the AppInstanceUser. */
    AppInstanceUserArn: string;
}
export interface DescribeAppInstanceUserEndpointInput {
    /** The ARN of the AppInstanceUser. */
    AppInstanceUserArn: string;
    /** The unique identifier of the AppInstanceUserEndpoint. */
    EndpointId: string;
}
export interface GetAppInstanceRetentionSettingsInput {
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
}
export interface ListAppInstanceAdminsInput {
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
    /** The maximum number of administrators that you want to return. */
    MaxResults?: number;
    /** The token returned from previous API requests until the number of administrators is reached. */
    NextToken?: string;
}
export interface ListAppInstanceBotsInput {
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
    /** The maximum number of requests to return. */
    MaxResults?: number;
    /** The token passed by previous API calls until all requested bots are returned. */
    NextToken?: string;
}
export interface ListAppInstancesInput {
    /** The maximum number of AppInstances that you want to return. */
    MaxResults?: number;
    /** The token passed by previous API requests until you reach the maximum number of AppInstances. */
    NextToken?: string;
}
export interface ListAppInstanceUserEndpointsInput {
    /** The ARN of the AppInstanceUser. */
    AppInstanceUserArn: string;
    /** The maximum number of endpoints that you want to return. */
    MaxResults?: number;
    /** The token passed by previous API calls until all requested endpoints are returned. */
    NextToken?: string;
}
export interface ListAppInstanceUsersInput {
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
    /** The maximum number of requests that you want returned. */
    MaxResults?: number;
    /** The token passed by previous API calls until all requested users are returned. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource. */
    ResourceARN: string;
}
export interface PutAppInstanceRetentionSettingsInput {
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
    /** The time in days to retain data. Data type: number. */
    AppInstanceRetentionSettings: AppInstanceRetentionSettings;
}
export interface PutAppInstanceUserExpirationSettingsInput {
    /** The ARN of the AppInstanceUser. */
    AppInstanceUserArn: string;
    /** Settings that control the interval after which an AppInstanceUser is automatically deleted. */
    ExpirationSettings?: ExpirationSettings;
}
export interface RegisterAppInstanceUserEndpointInput {
    /** The ARN of the AppInstanceUser. */
    AppInstanceUserArn: string;
    /** The unique ID assigned to the request. Use different tokens to register other endpoints. */
    ClientRequestToken: string;
    /** The attributes of an Endpoint. */
    EndpointAttributes: EndpointAttributes;
    /** The ARN of the resource to which the endpoint belongs. */
    ResourceArn: string;
    /** The type of the AppInstanceUserEndpoint. Supported types: APNS: The mobile notification service for an Apple device. APNS_SANDBOX: The sandbox environment of the mobile notification service for an App */
    Type: 'APNS' | 'APNS_SANDBOX' | 'GCM';
    /** Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint receives all messages. NONE indicates the endpoint receives no messages. */
    AllowMessages?: 'ALL' | 'NONE';
    /** The name of the AppInstanceUserEndpoint. */
    Name?: string;
}
export interface TagResourceInput {
    /** The resource ARN. */
    ResourceARN: string;
    /** The tag key-value pairs. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The resource ARN. */
    ResourceARN: string;
    /** The tag keys. */
    TagKeys: string[];
}
export interface UpdateAppInstanceInput {
    /** The ARN of the AppInstance. */
    AppInstanceArn: string;
    /** The metadata that you want to change. */
    Metadata: string;
    /** The name that you want to change. */
    Name: string;
}
export interface UpdateAppInstanceBotInput {
    /** The ARN of the AppInstanceBot. */
    AppInstanceBotArn: string;
    /** The metadata of the AppInstanceBot. */
    Metadata: string;
    /** The name of the AppInstanceBot. */
    Name: string;
    /** The configuration for the bot update. */
    Configuration?: Configuration;
}
export interface UpdateAppInstanceUserInput {
    /** The ARN of the AppInstanceUser. */
    AppInstanceUserArn: string;
    /** The metadata of the AppInstanceUser. */
    Metadata: string;
    /** The name of the AppInstanceUser. */
    Name: string;
}
export interface UpdateAppInstanceUserEndpointInput {
    /** The ARN of the AppInstanceUser. */
    AppInstanceUserArn: string;
    /** The unique identifier of the AppInstanceUserEndpoint. */
    EndpointId: string;
    /** Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. NONE indicates the endpoint will receive no messages. */
    AllowMessages?: 'ALL' | 'NONE';
    /** The name of the AppInstanceUserEndpoint. */
    Name?: string;
}
/** Chime SDK Identity service binding for Step Functions SDK integrations. */
export declare class ChimeSDKIdentity {
    constructor();
    createAppInstance<T>(params: CreateAppInstanceInput): Promise<T>;
    createAppInstanceAdmin<T>(params: CreateAppInstanceAdminInput): Promise<T>;
    createAppInstanceBot<T>(params: CreateAppInstanceBotInput): Promise<T>;
    createAppInstanceUser<T>(params: CreateAppInstanceUserInput): Promise<T>;
    deleteAppInstance<T>(params: DeleteAppInstanceInput): Promise<T>;
    deleteAppInstanceAdmin<T>(params: DeleteAppInstanceAdminInput): Promise<T>;
    deleteAppInstanceBot<T>(params: DeleteAppInstanceBotInput): Promise<T>;
    deleteAppInstanceUser<T>(params: DeleteAppInstanceUserInput): Promise<T>;
    deregisterAppInstanceUserEndpoint<T>(params: DeregisterAppInstanceUserEndpointInput): Promise<T>;
    describeAppInstance<T>(params: DescribeAppInstanceInput): Promise<T>;
    describeAppInstanceAdmin<T>(params: DescribeAppInstanceAdminInput): Promise<T>;
    describeAppInstanceBot<T>(params: DescribeAppInstanceBotInput): Promise<T>;
    describeAppInstanceUser<T>(params: DescribeAppInstanceUserInput): Promise<T>;
    describeAppInstanceUserEndpoint<T>(params: DescribeAppInstanceUserEndpointInput): Promise<T>;
    getAppInstanceRetentionSettings<T>(params: GetAppInstanceRetentionSettingsInput): Promise<T>;
    listAppInstanceAdmins<T>(params: ListAppInstanceAdminsInput): Promise<T>;
    listAppInstanceBots<T>(params: ListAppInstanceBotsInput): Promise<T>;
    listAppInstances<T>(params: ListAppInstancesInput): Promise<T>;
    listAppInstanceUserEndpoints<T>(params: ListAppInstanceUserEndpointsInput): Promise<T>;
    listAppInstanceUsers<T>(params: ListAppInstanceUsersInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putAppInstanceRetentionSettings<T>(params: PutAppInstanceRetentionSettingsInput): Promise<T>;
    putAppInstanceUserExpirationSettings<T>(params: PutAppInstanceUserExpirationSettingsInput): Promise<T>;
    registerAppInstanceUserEndpoint<T>(params: RegisterAppInstanceUserEndpointInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAppInstance<T>(params: UpdateAppInstanceInput): Promise<T>;
    updateAppInstanceBot<T>(params: UpdateAppInstanceBotInput): Promise<T>;
    updateAppInstanceUser<T>(params: UpdateAppInstanceUserInput): Promise<T>;
    updateAppInstanceUserEndpoint<T>(params: UpdateAppInstanceUserEndpointInput): Promise<T>;
}
//# sourceMappingURL=ChimeSDKIdentity.d.ts.map