export interface Tag {
    /** The key of the tag. */
    TagKey: string;
    /** The value of the tag. */
    TagValue: string;
}
export interface CustomActionDefinition {
    /** The command string to run which may include variables by prefixing with a dollar sign ($). */
    CommandText: string;
}
export interface CustomActionAttachment {
    /** The type of notification that the custom action should be attached to. */
    NotificationType?: string;
    /** The text of the button that appears on the notification. */
    ButtonText?: string;
    /** The criteria for when a button should be shown based on values in the notification. */
    Criteria?: any[];
    /** The variables to extract from the notification. */
    Variables?: Record<string, any>;
}
export interface AssociateToConfigurationInput {
    /** The channel configuration to associate with the resource. */
    ChatConfiguration: string;
    /** The resource Amazon Resource Name (ARN) to link. */
    Resource: string;
}
export interface CreateChimeWebhookConfigurationInput {
    /** The name of the configuration. */
    ConfigurationName: string;
    /** A user-defined role that AWS Chatbot assumes. This is not the service-linked role. For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide. */
    IamRoleArn: string;
    /** The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot. */
    SnsTopicArns: string[];
    /** A description of the webhook. We recommend using the convention RoomName/WebhookName. For more information, see Tutorial: Get started with Amazon Chime in the AWS Chatbot Administrator Guide. */
    WebhookDescription: string;
    /** The URL for the Amazon Chime webhook. */
    WebhookUrl: string;
    /** Logging levels include ERROR, INFO, or NONE. */
    LoggingLevel?: string;
    /** A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs. */
    Tags?: Tag[];
}
export interface CreateCustomActionInput {
    /** The name of the custom action. This name is included in the Amazon Resource Name (ARN). */
    ActionName: string;
    /** The definition of the command to run when invoked as an alias or as an action button. */
    Definition: CustomActionDefinition;
    /** The name used to invoke this action in a chat channel. For example, @aws run my-alias. */
    AliasName?: string;
    /** Defines when this custom action button should be attached to a notification. */
    Attachments?: CustomActionAttachment[];
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    ClientToken?: string;
    /** A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs. */
    Tags?: Tag[];
}
export interface CreateMicrosoftTeamsChannelConfigurationInput {
    /** The ID of the Microsoft Teams channel. */
    ChannelId: string;
    /** The name of the configuration. */
    ConfigurationName: string;
    /** A user-defined role that AWS Chatbot assumes. This is not the service-linked role. For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide. */
    IamRoleArn: string;
    /** The ID of the Microsoft Teams authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and pa */
    TeamId: string;
    /** The ID of the Microsoft Teams tenant. */
    TenantId: string;
    /** The name of the Microsoft Teams channel. */
    ChannelName?: string;
    /** The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed AdministratorAccess policy is applied by default if this is not set. */
    GuardrailPolicyArns?: string[];
    /** Logging levels include ERROR, INFO, or NONE. */
    LoggingLevel?: string;
    /** The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot. */
    SnsTopicArns?: string[];
    /** A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs. */
    Tags?: Tag[];
    /** The name of the Microsoft Teams Team. */
    TeamName?: string;
    /** Enables use of a user role requirement in your chat configuration. */
    UserAuthorizationRequired?: boolean;
}
export interface CreateSlackChannelConfigurationInput {
    /** The name of the configuration. */
    ConfigurationName: string;
    /** A user-defined role that AWS Chatbot assumes. This is not the service-linked role. For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide. */
    IamRoleArn: string;
    /** The ID of the Slack channel. To get this ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For ex */
    SlackChannelId: string;
    /** The ID of the Slack workspace authorized with AWS Chatbot. */
    SlackTeamId: string;
    /** The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed AdministratorAccess policy is applied by default if this is not set. */
    GuardrailPolicyArns?: string[];
    /** Logging levels include ERROR, INFO, or NONE. */
    LoggingLevel?: string;
    /** The name of the Slack channel. */
    SlackChannelName?: string;
    /** The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot. */
    SnsTopicArns?: string[];
    /** A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs. */
    Tags?: Tag[];
    /** Enables use of a user role requirement in your chat configuration. */
    UserAuthorizationRequired?: boolean;
}
export interface DeleteChimeWebhookConfigurationInput {
    /** The Amazon Resource Name (ARN) of the ChimeWebhookConfiguration to delete. */
    ChatConfigurationArn: string;
}
export interface DeleteCustomActionInput {
    /** The fully defined ARN of the custom action. */
    CustomActionArn: string;
}
export interface DeleteMicrosoftTeamsChannelConfigurationInput {
    /** The Amazon Resource Name (ARN) of the MicrosoftTeamsChannelConfiguration associated with the user identity to delete. */
    ChatConfigurationArn: string;
}
export interface DeleteMicrosoftTeamsConfiguredTeamInput {
    /** The ID of the Microsoft Teams team authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy a */
    TeamId: string;
}
export interface DeleteMicrosoftTeamsUserIdentityInput {
    /** The ARN of the MicrosoftTeamsChannelConfiguration associated with the user identity to delete. */
    ChatConfigurationArn: string;
    /** The Microsoft Teams user ID. */
    UserId: string;
}
export interface DeleteSlackChannelConfigurationInput {
    /** The Amazon Resource Name (ARN) of the SlackChannelConfiguration to delete. */
    ChatConfigurationArn: string;
}
export interface DeleteSlackUserIdentityInput {
    /** The ARN of the SlackChannelConfiguration associated with the user identity to delete. */
    ChatConfigurationArn: string;
    /** The ID of the Slack workspace authorized with AWS Chatbot. */
    SlackTeamId: string;
    /** The ID of the user in Slack */
    SlackUserId: string;
}
export interface DeleteSlackWorkspaceAuthorizationInput {
    /** The ID of the Slack workspace authorized with AWS Chatbot. */
    SlackTeamId: string;
}
export interface DescribeChimeWebhookConfigurationsInput {
    /** An optional Amazon Resource Name (ARN) of a ChimeWebhookConfiguration to describe. */
    ChatConfigurationArn?: string;
    /** The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    MaxResults?: number;
    /** An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to t */
    NextToken?: string;
}
export interface DescribeSlackChannelConfigurationsInput {
    /** An optional Amazon Resource Name (ARN) of a SlackChannelConfiguration to describe. */
    ChatConfigurationArn?: string;
    /** The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    MaxResults?: number;
    /** An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to t */
    NextToken?: string;
}
export interface DescribeSlackUserIdentitiesInput {
    /** The Amazon Resource Name (ARN) of the SlackChannelConfiguration associated with the user identities to describe. */
    ChatConfigurationArn?: string;
    /** The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    MaxResults?: number;
    /** An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to t */
    NextToken?: string;
}
export interface DescribeSlackWorkspacesInput {
    /** The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    MaxResults?: number;
    /** An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to t */
    NextToken?: string;
}
export interface DisassociateFromConfigurationInput {
    /** The channel configuration the resource is being disassociated from. */
    ChatConfiguration: string;
    /** The resource (for example, a custom action) Amazon Resource Name (ARN) to unlink. */
    Resource: string;
}
export interface GetCustomActionInput {
    /** Returns the fully defined Amazon Resource Name (ARN) of the custom action. */
    CustomActionArn: string;
}
export interface GetMicrosoftTeamsChannelConfigurationInput {
    /** The Amazon Resource Name (ARN) of the MicrosoftTeamsChannelConfiguration to retrieve. */
    ChatConfigurationArn: string;
}
export interface ListAssociationsInput {
    /** The channel configuration to list associations for. */
    ChatConfiguration: string;
    /** The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    MaxResults?: number;
    /** An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to t */
    NextToken?: string;
}
export interface ListCustomActionsInput {
    /** The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    MaxResults?: number;
    /** An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to t */
    NextToken?: string;
}
export interface ListMicrosoftTeamsChannelConfigurationsInput {
    /** The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    MaxResults?: number;
    /** An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to t */
    NextToken?: string;
    /** The ID of the Microsoft Teams authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and pa */
    TeamId?: string;
}
export interface ListMicrosoftTeamsConfiguredTeamsInput {
    /** The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    MaxResults?: number;
    /** An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to t */
    NextToken?: string;
}
export interface ListMicrosoftTeamsUserIdentitiesInput {
    /** The Amazon Resource Name (ARN) of the MicrosoftTeamsChannelConfiguration associated with the user identities to list. */
    ChatConfigurationArn?: string;
    /** The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    MaxResults?: number;
    /** An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to t */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource to list tags for. */
    ResourceARN: string;
}
export interface TagResourceInput {
    /** The ARN of the configuration. */
    ResourceARN: string;
    /** A list of tags to apply to the configuration. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The value of the resource that will have the tag removed. An Amazon Resource Name (ARN) is an identifier for a specific AWS resource, such as a server, user, or role. */
    ResourceARN: string;
    /** TagKeys are key-value pairs assigned to ARNs that can be used to group and search for resources by type. This metadata can be attached to resources for any purpose. */
    TagKeys: string[];
}
export interface UpdateAccountPreferencesInput {
    /** Turns on training data collection. This helps improve the AWS Chatbot experience by allowing AWS Chatbot to store and use your customer information, such as AWS Chatbot configurations, notifications,  */
    TrainingDataCollectionEnabled?: boolean;
    /** Enables use of a user role requirement in your chat configuration. */
    UserAuthorizationRequired?: boolean;
}
export interface UpdateChimeWebhookConfigurationInput {
    /** The Amazon Resource Name (ARN) of the ChimeWebhookConfiguration to update. */
    ChatConfigurationArn: string;
    /** A user-defined role that AWS Chatbot assumes. This is not the service-linked role. For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide. */
    IamRoleArn?: string;
    /** Logging levels include ERROR, INFO, or NONE. */
    LoggingLevel?: string;
    /** The ARNs of the SNS topics that deliver notifications to AWS Chatbot. */
    SnsTopicArns?: string[];
    /** A description of the webhook. We recommend using the convention RoomName/WebhookName. For more information, see Tutorial: Get started with Amazon Chime in the AWS Chatbot Administrator Guide. */
    WebhookDescription?: string;
    /** The URL for the Amazon Chime webhook. */
    WebhookUrl?: string;
}
export interface UpdateCustomActionInput {
    /** The fully defined Amazon Resource Name (ARN) of the custom action. */
    CustomActionArn: string;
    /** The definition of the command to run when invoked as an alias or as an action button. */
    Definition: CustomActionDefinition;
    /** The name used to invoke this action in the chat channel. For example, @aws run my-alias. */
    AliasName?: string;
    /** Defines when this custom action button should be attached to a notification. */
    Attachments?: CustomActionAttachment[];
}
export interface UpdateMicrosoftTeamsChannelConfigurationInput {
    /** The ID of the Microsoft Teams channel. */
    ChannelId: string;
    /** The Amazon Resource Name (ARN) of the TeamsChannelConfiguration to update. */
    ChatConfigurationArn: string;
    /** The name of the Microsoft Teams channel. */
    ChannelName?: string;
    /** The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed AdministratorAccess policy is applied by default if this is not set. */
    GuardrailPolicyArns?: string[];
    /** A user-defined role that AWS Chatbot assumes. This is not the service-linked role. For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide. */
    IamRoleArn?: string;
    /** Logging levels include ERROR, INFO, or NONE. */
    LoggingLevel?: string;
    /** The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot. */
    SnsTopicArns?: string[];
    /** Enables use of a user role requirement in your chat configuration. */
    UserAuthorizationRequired?: boolean;
}
export interface UpdateSlackChannelConfigurationInput {
    /** The Amazon Resource Name (ARN) of the SlackChannelConfiguration to update. */
    ChatConfigurationArn: string;
    /** The ID of the Slack channel. To get this ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For ex */
    SlackChannelId: string;
    /** The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed AdministratorAccess policy is applied by default if this is not set. */
    GuardrailPolicyArns?: string[];
    /** A user-defined role that AWS Chatbot assumes. This is not the service-linked role. For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide. */
    IamRoleArn?: string;
    /** Logging levels include ERROR, INFO, or NONE. */
    LoggingLevel?: string;
    /** The name of the Slack channel. */
    SlackChannelName?: string;
    /** The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot. */
    SnsTopicArns?: string[];
    /** Enables use of a user role requirement in your chat configuration. */
    UserAuthorizationRequired?: boolean;
}
/** chatbot service binding for Step Functions SDK integrations. */
export declare class chatbot {
    constructor();
    associateToConfiguration<T>(params: AssociateToConfigurationInput): Promise<T>;
    createChimeWebhookConfiguration<T>(params: CreateChimeWebhookConfigurationInput): Promise<T>;
    createCustomAction<T>(params: CreateCustomActionInput): Promise<T>;
    createMicrosoftTeamsChannelConfiguration<T>(params: CreateMicrosoftTeamsChannelConfigurationInput): Promise<T>;
    createSlackChannelConfiguration<T>(params: CreateSlackChannelConfigurationInput): Promise<T>;
    deleteChimeWebhookConfiguration<T>(params: DeleteChimeWebhookConfigurationInput): Promise<T>;
    deleteCustomAction<T>(params: DeleteCustomActionInput): Promise<T>;
    deleteMicrosoftTeamsChannelConfiguration<T>(params: DeleteMicrosoftTeamsChannelConfigurationInput): Promise<T>;
    deleteMicrosoftTeamsConfiguredTeam<T>(params: DeleteMicrosoftTeamsConfiguredTeamInput): Promise<T>;
    deleteMicrosoftTeamsUserIdentity<T>(params: DeleteMicrosoftTeamsUserIdentityInput): Promise<T>;
    deleteSlackChannelConfiguration<T>(params: DeleteSlackChannelConfigurationInput): Promise<T>;
    deleteSlackUserIdentity<T>(params: DeleteSlackUserIdentityInput): Promise<T>;
    deleteSlackWorkspaceAuthorization<T>(params: DeleteSlackWorkspaceAuthorizationInput): Promise<T>;
    describeChimeWebhookConfigurations<T>(params: DescribeChimeWebhookConfigurationsInput): Promise<T>;
    describeSlackChannelConfigurations<T>(params: DescribeSlackChannelConfigurationsInput): Promise<T>;
    describeSlackUserIdentities<T>(params: DescribeSlackUserIdentitiesInput): Promise<T>;
    describeSlackWorkspaces<T>(params: DescribeSlackWorkspacesInput): Promise<T>;
    disassociateFromConfiguration<T>(params: DisassociateFromConfigurationInput): Promise<T>;
    getAccountPreferences<T>(params: Record<string, any>): Promise<T>;
    getCustomAction<T>(params: GetCustomActionInput): Promise<T>;
    getMicrosoftTeamsChannelConfiguration<T>(params: GetMicrosoftTeamsChannelConfigurationInput): Promise<T>;
    listAssociations<T>(params: ListAssociationsInput): Promise<T>;
    listCustomActions<T>(params: ListCustomActionsInput): Promise<T>;
    listMicrosoftTeamsChannelConfigurations<T>(params: ListMicrosoftTeamsChannelConfigurationsInput): Promise<T>;
    listMicrosoftTeamsConfiguredTeams<T>(params: ListMicrosoftTeamsConfiguredTeamsInput): Promise<T>;
    listMicrosoftTeamsUserIdentities<T>(params: ListMicrosoftTeamsUserIdentitiesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAccountPreferences<T>(params: UpdateAccountPreferencesInput): Promise<T>;
    updateChimeWebhookConfiguration<T>(params: UpdateChimeWebhookConfigurationInput): Promise<T>;
    updateCustomAction<T>(params: UpdateCustomActionInput): Promise<T>;
    updateMicrosoftTeamsChannelConfiguration<T>(params: UpdateMicrosoftTeamsChannelConfigurationInput): Promise<T>;
    updateSlackChannelConfiguration<T>(params: UpdateSlackChannelConfigurationInput): Promise<T>;
}
//# sourceMappingURL=chatbot.d.ts.map