import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { AppInstanceBotReference, AppInstanceReference, IAppInstanceBotRef, IAppInstanceRef } from "../../interfaces/generated/aws-chime-interfaces.generated";
/**
 * Resource Type definition for AWS::Chime::AppInstance.
 *
 * @cloudformationResource AWS::Chime::AppInstance
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstance.html
 */
export declare class CfnAppInstance extends cdk.CfnResource implements cdk.IInspectable, IAppInstanceRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnAppInstance from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAppInstance;
    /**
     * Checks whether the given object is a CfnAppInstance
     */
    static isCfnAppInstance(x: any): x is CfnAppInstance;
    static arnForAppInstance(resource: IAppInstanceRef): string;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The metadata of the AppInstance.
     */
    private _metadata?;
    /**
     * The name of the AppInstance.
     */
    private _name;
    /**
     * Tags assigned to the AppInstance.
     */
    private _tags?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::Chime::AppInstance`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnAppInstanceProps);
    get appInstanceRef(): AppInstanceReference;
    /**
     * The metadata of the AppInstance.
     */
    get metadata(): string | undefined;
    /**
     * The metadata of the AppInstance.
     */
    set metadata(value: string | undefined);
    /**
     * The name of the AppInstance.
     */
    get name(): string;
    /**
     * The name of the AppInstance.
     */
    set name(value: string);
    /**
     * Tags assigned to the AppInstance.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * Tags assigned to the AppInstance.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Number (ARN) of the AppInstance.
     *
     * @cloudformationAttribute AppInstanceArn
     */
    get attrAppInstanceArn(): string;
    /**
     * The time at which an AppInstance was created. In epoch milliseconds.
     *
     * @cloudformationAttribute CreatedTimestamp
     */
    get attrCreatedTimestamp(): cdk.IResolvable;
    /**
     * The time an AppInstance was last updated. In epoch milliseconds.
     *
     * @cloudformationAttribute LastUpdatedTimestamp
     */
    get attrLastUpdatedTimestamp(): cdk.IResolvable;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnAppInstance`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstance.html
 */
export interface CfnAppInstanceProps {
    /**
     * The metadata of the AppInstance.
     *
     * Limited to a 1KB string in UTF-8.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstance.html#cfn-chime-appinstance-metadata
     */
    readonly metadata?: string;
    /**
     * The name of the AppInstance.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstance.html#cfn-chime-appinstance-name
     */
    readonly name: string;
    /**
     * Tags assigned to the AppInstance.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstance.html#cfn-chime-appinstance-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Resource Type definition for AWS::Chime::AppInstanceBot.
 *
 * @cloudformationResource AWS::Chime::AppInstanceBot
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstancebot.html
 */
export declare class CfnAppInstanceBot extends cdk.CfnResource implements cdk.IInspectable, IAppInstanceBotRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnAppInstanceBot from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAppInstanceBot;
    /**
     * Checks whether the given object is a CfnAppInstanceBot
     */
    static isCfnAppInstanceBot(x: any): x is CfnAppInstanceBot;
    static arnForAppInstanceBot(resource: IAppInstanceBotRef): string;
    /**
     * The ARN of the AppInstance.
     */
    private _appInstanceArn;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * A structure that contains configuration data.
     */
    private _configuration;
    /**
     * The metadata of the AppInstanceBot.
     */
    private _metadata?;
    /**
     * The name of the AppInstanceBot.
     */
    private _name?;
    /**
     * The tags assigned to the AppInstanceBot.
     */
    private _tags?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::Chime::AppInstanceBot`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnAppInstanceBotProps);
    get appInstanceBotRef(): AppInstanceBotReference;
    /**
     * The ARN of the AppInstance.
     */
    get appInstanceArn(): string;
    /**
     * The ARN of the AppInstance.
     */
    set appInstanceArn(value: string);
    /**
     * A structure that contains configuration data.
     */
    get configuration(): CfnAppInstanceBot.ConfigurationProperty | cdk.IResolvable;
    /**
     * A structure that contains configuration data.
     */
    set configuration(value: CfnAppInstanceBot.ConfigurationProperty | cdk.IResolvable);
    /**
     * The metadata of the AppInstanceBot.
     */
    get metadata(): string | undefined;
    /**
     * The metadata of the AppInstanceBot.
     */
    set metadata(value: string | undefined);
    /**
     * The name of the AppInstanceBot.
     */
    get name(): string | undefined;
    /**
     * The name of the AppInstanceBot.
     */
    set name(value: string | undefined);
    /**
     * The tags assigned to the AppInstanceBot.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags assigned to the AppInstanceBot.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The ARN of the AppInstanceBot.
     *
     * @cloudformationAttribute AppInstanceBotArn
     */
    get attrAppInstanceBotArn(): string;
    /**
     * The time at which the AppInstanceBot was created. In epoch milliseconds.
     *
     * @cloudformationAttribute CreatedTimestamp
     */
    get attrCreatedTimestamp(): cdk.IResolvable;
    /**
     * The time at which the AppInstanceBot was last updated. In epoch milliseconds.
     *
     * @cloudformationAttribute LastUpdatedTimestamp
     */
    get attrLastUpdatedTimestamp(): cdk.IResolvable;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnAppInstanceBot {
    /**
     * A structure that contains configuration data.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-configuration.html
     */
    interface ConfigurationProperty {
        /**
         * The configuration for an Amazon Lex V2 bot.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-configuration.html#cfn-chime-appinstancebot-configuration-lex
         */
        readonly lex: cdk.IResolvable | CfnAppInstanceBot.LexConfigurationProperty;
    }
    /**
     * The configuration for an Amazon Lex V2 bot.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-lexconfiguration.html
     */
    interface LexConfigurationProperty {
        /**
         * Specifies the type of message that triggers a bot.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-lexconfiguration.html#cfn-chime-appinstancebot-lexconfiguration-invokedby
         */
        readonly invokedBy?: CfnAppInstanceBot.InvokedByProperty | cdk.IResolvable;
        /**
         * The ARN of the Amazon Lex V2 bot's alias.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-lexconfiguration.html#cfn-chime-appinstancebot-lexconfiguration-lexbotaliasarn
         */
        readonly lexBotAliasArn: string;
        /**
         * Identifies the Amazon Lex V2 bot's language and locale.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-lexconfiguration.html#cfn-chime-appinstancebot-lexconfiguration-localeid
         */
        readonly localeId: string;
        /**
         * Determines whether the Amazon Lex V2 bot responds to all standard messages.
         *
         * Control messages are not supported.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-lexconfiguration.html#cfn-chime-appinstancebot-lexconfiguration-respondsto
         */
        readonly respondsTo?: string;
        /**
         * The name of the welcome intent configured in the Amazon Lex V2 bot.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-lexconfiguration.html#cfn-chime-appinstancebot-lexconfiguration-welcomeintent
         */
        readonly welcomeIntent?: string;
    }
    /**
     * Specifies the type of message that triggers a bot.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-invokedby.html
     */
    interface InvokedByProperty {
        /**
         * Sets standard messages as the bot trigger.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-invokedby.html#cfn-chime-appinstancebot-invokedby-standardmessages
         */
        readonly standardMessages: string;
        /**
         * Sets targeted messages as the bot trigger.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chime-appinstancebot-invokedby.html#cfn-chime-appinstancebot-invokedby-targetedmessages
         */
        readonly targetedMessages: string;
    }
}
/**
 * Properties for defining a `CfnAppInstanceBot`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstancebot.html
 */
export interface CfnAppInstanceBotProps {
    /**
     * The ARN of the AppInstance.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstancebot.html#cfn-chime-appinstancebot-appinstancearn
     */
    readonly appInstanceArn: string;
    /**
     * A structure that contains configuration data.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstancebot.html#cfn-chime-appinstancebot-configuration
     */
    readonly configuration: CfnAppInstanceBot.ConfigurationProperty | cdk.IResolvable;
    /**
     * The metadata of the AppInstanceBot.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstancebot.html#cfn-chime-appinstancebot-metadata
     */
    readonly metadata?: string;
    /**
     * The name of the AppInstanceBot.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstancebot.html#cfn-chime-appinstancebot-name
     */
    readonly name?: string;
    /**
     * The tags assigned to the AppInstanceBot.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chime-appinstancebot.html#cfn-chime-appinstancebot-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
export type { IAppInstanceRef, AppInstanceReference };
export type { IAppInstanceBotRef, AppInstanceBotReference };
