import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { ConnectionAliasReference, IConnectionAliasRef, IWorkspaceRef, IWorkspacesPoolRef, WorkspaceReference, WorkspacesPoolReference } from "../../interfaces/generated/aws-workspaces-interfaces.generated";
/**
 * The `AWS::WorkSpaces::ConnectionAlias` resource specifies a connection alias.
 *
 * Connection aliases are used for cross-Region redirection. For more information, see [Cross-Region Redirection for Amazon WorkSpaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html) .
 *
 * @cloudformationResource AWS::WorkSpaces::ConnectionAlias
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html
 */
export declare class CfnConnectionAlias extends cdk.CfnResource implements cdk.IInspectable, IConnectionAliasRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnConnectionAlias 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): CfnConnectionAlias;
    /**
     * Checks whether the given object is a CfnConnectionAlias
     */
    static isCfnConnectionAlias(x: any): x is CfnConnectionAlias;
    /**
     * The connection string specified for the connection alias.
     */
    private _connectionString;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags to associate with the connection alias.
     */
    private _tagsRaw?;
    /**
     * Create a new `AWS::WorkSpaces::ConnectionAlias`.
     *
     * @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: CfnConnectionAliasProps);
    get connectionAliasRef(): ConnectionAliasReference;
    /**
     * The connection string specified for the connection alias.
     */
    get connectionString(): string;
    /**
     * The connection string specified for the connection alias.
     */
    set connectionString(value: string);
    /**
     * The tags to associate with the connection alias.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags to associate with the connection alias.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * The identifier of the connection alias, returned as a string.
     *
     * @cloudformationAttribute AliasId
     */
    get attrAliasId(): string;
    /**
     * The association status of the connection alias.
     *
     * @cloudformationAttribute Associations
     */
    get attrAssociations(): cdk.IResolvable;
    /**
     * The current state of the connection alias, returned as a string.
     *
     * @cloudformationAttribute ConnectionAliasState
     */
    get attrConnectionAliasState(): string;
    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 CfnConnectionAlias {
    /**
     * Describes a connection alias association that is used for cross-Region redirection.
     *
     * For more information, see [Cross-Region Redirection for Amazon WorkSpaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html) .
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html
     */
    interface ConnectionAliasAssociationProperty {
        /**
         * The identifier of the AWS account that associated the connection alias with a directory.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html#cfn-workspaces-connectionalias-connectionaliasassociation-associatedaccountid
         */
        readonly associatedAccountId?: string;
        /**
         * The association status of the connection alias.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html#cfn-workspaces-connectionalias-connectionaliasassociation-associationstatus
         */
        readonly associationStatus?: string;
        /**
         * The identifier of the connection alias association.
         *
         * You use the connection identifier in the DNS TXT record when you're configuring your DNS routing policies.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html#cfn-workspaces-connectionalias-connectionaliasassociation-connectionidentifier
         */
        readonly connectionIdentifier?: string;
        /**
         * The identifier of the directory associated with a connection alias.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html#cfn-workspaces-connectionalias-connectionaliasassociation-resourceid
         */
        readonly resourceId?: string;
    }
}
/**
 * Properties for defining a `CfnConnectionAlias`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html
 */
export interface CfnConnectionAliasProps {
    /**
     * The connection string specified for the connection alias.
     *
     * The connection string must be in the form of a fully qualified domain name (FQDN), such as `www.example.com` .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html#cfn-workspaces-connectionalias-connectionstring
     */
    readonly connectionString: string;
    /**
     * The tags to associate with the connection alias.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html#cfn-workspaces-connectionalias-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * The `AWS::WorkSpaces::Workspace` resource specifies a WorkSpace.
 *
 * Updates are not supported for the `BundleId` , `RootVolumeEncryptionEnabled` , `UserVolumeEncryptionEnabled` , or `VolumeEncryptionKey` properties. To update these properties, you must also update a property that triggers a replacement, such as the `UserName` property.
 *
 * @cloudformationResource AWS::WorkSpaces::Workspace
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html
 */
export declare class CfnWorkspace extends cdk.CfnResource implements cdk.IInspectable, IWorkspaceRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnWorkspace 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): CfnWorkspace;
    /**
     * Checks whether the given object is a CfnWorkspace
     */
    static isCfnWorkspace(x: any): x is CfnWorkspace;
    /**
     * Creates a new IWorkspaceRef from a workspaceId
     */
    static fromWorkspaceId(scope: constructs.Construct, id: string, workspaceId: string): IWorkspaceRef;
    static arnForWorkspace(resource: IWorkspaceRef): string;
    /**
     * The identifier of the bundle for the WorkSpace.
     */
    private _bundleId;
    /**
     * The identifier of the Directory Service directory for the WorkSpace.
     */
    private _directoryId;
    /**
     * Indicates whether the data stored on the root volume is encrypted.
     */
    private _rootVolumeEncryptionEnabled?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags for the WorkSpace.
     */
    private _tagsRaw?;
    /**
     * The user name of the user for the WorkSpace.
     */
    private _userName;
    /**
     * Indicates whether the data stored on the user volume is encrypted.
     */
    private _userVolumeEncryptionEnabled?;
    /**
     * The symmetric AWS KMS key used to encrypt data stored on your WorkSpace.
     */
    private _volumeEncryptionKey?;
    /**
     * The WorkSpace properties.
     */
    private _workspaceProperties?;
    /**
     * Create a new `AWS::WorkSpaces::Workspace`.
     *
     * @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: CfnWorkspaceProps);
    get workspaceRef(): WorkspaceReference;
    /**
     * The identifier of the bundle for the WorkSpace.
     */
    get bundleId(): string;
    /**
     * The identifier of the bundle for the WorkSpace.
     */
    set bundleId(value: string);
    /**
     * The identifier of the Directory Service directory for the WorkSpace.
     */
    get directoryId(): string;
    /**
     * The identifier of the Directory Service directory for the WorkSpace.
     */
    set directoryId(value: string);
    /**
     * Indicates whether the data stored on the root volume is encrypted.
     */
    get rootVolumeEncryptionEnabled(): boolean | cdk.IResolvable | undefined;
    /**
     * Indicates whether the data stored on the root volume is encrypted.
     */
    set rootVolumeEncryptionEnabled(value: boolean | cdk.IResolvable | undefined);
    /**
     * The tags for the WorkSpace.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the WorkSpace.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * The user name of the user for the WorkSpace.
     */
    get userName(): string;
    /**
     * The user name of the user for the WorkSpace.
     */
    set userName(value: string);
    /**
     * Indicates whether the data stored on the user volume is encrypted.
     */
    get userVolumeEncryptionEnabled(): boolean | cdk.IResolvable | undefined;
    /**
     * Indicates whether the data stored on the user volume is encrypted.
     */
    set userVolumeEncryptionEnabled(value: boolean | cdk.IResolvable | undefined);
    /**
     * The symmetric AWS KMS key used to encrypt data stored on your WorkSpace.
     */
    get volumeEncryptionKey(): string | undefined;
    /**
     * The symmetric AWS KMS key used to encrypt data stored on your WorkSpace.
     */
    set volumeEncryptionKey(value: string | undefined);
    /**
     * The WorkSpace properties.
     */
    get workspaceProperties(): cdk.IResolvable | CfnWorkspace.WorkspacePropertiesProperty | undefined;
    /**
     * The WorkSpace properties.
     */
    set workspaceProperties(value: cdk.IResolvable | CfnWorkspace.WorkspacePropertiesProperty | undefined);
    /**
     * The identifier of the WorkSpace, returned as a string.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * @cloudformationAttribute WorkspaceId
     */
    get attrWorkspaceId(): string;
    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 CfnWorkspace {
    /**
     * Information about a WorkSpace.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html
     */
    interface WorkspacePropertiesProperty {
        /**
         * The compute type.
         *
         * For more information, see [Amazon WorkSpaces Bundles](https://docs.aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles) .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-computetypename
         */
        readonly computeTypeName?: string;
        /**
         * The size of the root volume.
         *
         * For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-rootvolumesizegib
         */
        readonly rootVolumeSizeGib?: number;
        /**
         * The running mode.
         *
         * For more information, see [Manage the WorkSpace Running Mode](https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html) .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-runningmode
         */
        readonly runningMode?: string;
        /**
         * The time after a user logs off when WorkSpaces are automatically stopped.
         *
         * Configured in 60-minute intervals.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-runningmodeautostoptimeoutinminutes
         */
        readonly runningModeAutoStopTimeoutInMinutes?: number;
        /**
         * The size of the user storage.
         *
         * For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-uservolumesizegib
         */
        readonly userVolumeSizeGib?: number;
    }
}
/**
 * Properties for defining a `CfnWorkspace`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html
 */
export interface CfnWorkspaceProps {
    /**
     * The identifier of the bundle for the WorkSpace.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-bundleid
     */
    readonly bundleId: string;
    /**
     * The identifier of the Directory Service directory for the WorkSpace.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-directoryid
     */
    readonly directoryId: string;
    /**
     * Indicates whether the data stored on the root volume is encrypted.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-rootvolumeencryptionenabled
     */
    readonly rootVolumeEncryptionEnabled?: boolean | cdk.IResolvable;
    /**
     * The tags for the WorkSpace.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
    /**
     * The user name of the user for the WorkSpace.
     *
     * This user name must exist in the Directory Service directory for the WorkSpace.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-username
     */
    readonly userName: string;
    /**
     * Indicates whether the data stored on the user volume is encrypted.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-uservolumeencryptionenabled
     */
    readonly userVolumeEncryptionEnabled?: boolean | cdk.IResolvable;
    /**
     * The symmetric AWS KMS key used to encrypt data stored on your WorkSpace.
     *
     * Amazon WorkSpaces does not support asymmetric KMS keys.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-volumeencryptionkey
     */
    readonly volumeEncryptionKey?: string;
    /**
     * The WorkSpace properties.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-workspaceproperties
     */
    readonly workspaceProperties?: cdk.IResolvable | CfnWorkspace.WorkspacePropertiesProperty;
}
/**
 * Describes a pool of WorkSpaces.
 *
 * @cloudformationResource AWS::WorkSpaces::WorkspacesPool
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html
 */
export declare class CfnWorkspacesPool extends cdk.CfnResource implements cdk.IInspectable, IWorkspacesPoolRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnWorkspacesPool 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): CfnWorkspacesPool;
    /**
     * Checks whether the given object is a CfnWorkspacesPool
     */
    static isCfnWorkspacesPool(x: any): x is CfnWorkspacesPool;
    /**
     * Creates a new IWorkspacesPoolRef from an ARN
     */
    static fromWorkspacesPoolArn(scope: constructs.Construct, id: string, arn: string): IWorkspacesPoolRef;
    /**
     * Creates a new IWorkspacesPoolRef from a poolId
     */
    static fromPoolId(scope: constructs.Construct, id: string, poolId: string): IWorkspacesPoolRef;
    static arnForWorkspacesPool(resource: IWorkspacesPoolRef): string;
    /**
     * The persistent application settings for users of the pool.
     */
    private _applicationSettings?;
    /**
     * The identifier of the bundle used by the pool.
     */
    private _bundleId;
    /**
     * Describes the user capacity for the pool.
     */
    private _capacity;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The description of the pool.
     */
    private _description?;
    /**
     * The identifier of the directory used by the pool.
     */
    private _directoryId;
    /**
     * The name of the pool.
     */
    private _poolName;
    /**
     * The running mode of the pool.
     */
    private _runningMode?;
    /**
     * @deprecated this property has been deprecated
     */
    private _tags?;
    /**
     * The amount of time that a pool session remains active after users disconnect.
     */
    private _timeoutSettings?;
    /**
     * Create a new `AWS::WorkSpaces::WorkspacesPool`.
     *
     * @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: CfnWorkspacesPoolProps);
    get workspacesPoolRef(): WorkspacesPoolReference;
    /**
     * The persistent application settings for users of the pool.
     */
    get applicationSettings(): CfnWorkspacesPool.ApplicationSettingsProperty | cdk.IResolvable | undefined;
    /**
     * The persistent application settings for users of the pool.
     */
    set applicationSettings(value: CfnWorkspacesPool.ApplicationSettingsProperty | cdk.IResolvable | undefined);
    /**
     * The identifier of the bundle used by the pool.
     */
    get bundleId(): string;
    /**
     * The identifier of the bundle used by the pool.
     */
    set bundleId(value: string);
    /**
     * Describes the user capacity for the pool.
     */
    get capacity(): CfnWorkspacesPool.CapacityProperty | cdk.IResolvable;
    /**
     * Describes the user capacity for the pool.
     */
    set capacity(value: CfnWorkspacesPool.CapacityProperty | cdk.IResolvable);
    /**
     * The description of the pool.
     */
    get description(): string | undefined;
    /**
     * The description of the pool.
     */
    set description(value: string | undefined);
    /**
     * The identifier of the directory used by the pool.
     */
    get directoryId(): string;
    /**
     * The identifier of the directory used by the pool.
     */
    set directoryId(value: string);
    /**
     * The name of the pool.
     */
    get poolName(): string;
    /**
     * The name of the pool.
     */
    set poolName(value: string);
    /**
     * The running mode of the pool.
     */
    get runningMode(): string | undefined;
    /**
     * The running mode of the pool.
     */
    set runningMode(value: string | undefined);
    /**
     * @deprecated this property has been deprecated
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * @deprecated this property has been deprecated
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The amount of time that a pool session remains active after users disconnect.
     */
    get timeoutSettings(): cdk.IResolvable | CfnWorkspacesPool.TimeoutSettingsProperty | undefined;
    /**
     * The amount of time that a pool session remains active after users disconnect.
     */
    set timeoutSettings(value: cdk.IResolvable | CfnWorkspacesPool.TimeoutSettingsProperty | undefined);
    /**
     * The time the pool was created.
     *
     * @cloudformationAttribute CreatedAt
     */
    get attrCreatedAt(): string;
    /**
     * The Amazon Resource Name (ARN) for the pool.
     *
     * @cloudformationAttribute PoolArn
     */
    get attrPoolArn(): string;
    /**
     * The identifier of the pool.
     *
     * @cloudformationAttribute PoolId
     */
    get attrPoolId(): string;
    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 CfnWorkspacesPool {
    /**
     * Describes the user capacity for the pool.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-capacity.html
     */
    interface CapacityProperty {
        /**
         * The desired number of user sessions for the WorkSpaces in the pool.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-capacity.html#cfn-workspaces-workspacespool-capacity-desiredusersessions
         */
        readonly desiredUserSessions: number;
    }
    /**
     * The persistent application settings for users in the pool.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-applicationsettings.html
     */
    interface ApplicationSettingsProperty {
        /**
         * The path prefix for the S3 bucket where users’ persistent application settings are stored.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-applicationsettings.html#cfn-workspaces-workspacespool-applicationsettings-settingsgroup
         */
        readonly settingsGroup?: string;
        /**
         * Enables or disables persistent application settings for users during their pool sessions.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-applicationsettings.html#cfn-workspaces-workspacespool-applicationsettings-status
         */
        readonly status: string;
    }
    /**
     * Describes the timeout settings for the pool.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-timeoutsettings.html
     */
    interface TimeoutSettingsProperty {
        /**
         * Specifies the amount of time, in seconds, that a streaming session remains active after users disconnect.
         *
         * If users try to reconnect to the streaming session after a disconnection or network interruption within the time set, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-timeoutsettings.html#cfn-workspaces-workspacespool-timeoutsettings-disconnecttimeoutinseconds
         */
        readonly disconnectTimeoutInSeconds?: number;
        /**
         * The amount of time in seconds a connection will stay active while idle.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-timeoutsettings.html#cfn-workspaces-workspacespool-timeoutsettings-idledisconnecttimeoutinseconds
         */
        readonly idleDisconnectTimeoutInSeconds?: number;
        /**
         * Specifies the maximum amount of time, in seconds, that a streaming session can remain active.
         *
         * If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-timeoutsettings.html#cfn-workspaces-workspacespool-timeoutsettings-maxuserdurationinseconds
         */
        readonly maxUserDurationInSeconds?: number;
    }
}
/**
 * Properties for defining a `CfnWorkspacesPool`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html
 */
export interface CfnWorkspacesPoolProps {
    /**
     * The persistent application settings for users of the pool.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-applicationsettings
     */
    readonly applicationSettings?: CfnWorkspacesPool.ApplicationSettingsProperty | cdk.IResolvable;
    /**
     * The identifier of the bundle used by the pool.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-bundleid
     */
    readonly bundleId: string;
    /**
     * Describes the user capacity for the pool.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-capacity
     */
    readonly capacity: CfnWorkspacesPool.CapacityProperty | cdk.IResolvable;
    /**
     * The description of the pool.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-description
     */
    readonly description?: string;
    /**
     * The identifier of the directory used by the pool.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-directoryid
     */
    readonly directoryId: string;
    /**
     * The name of the pool.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-poolname
     */
    readonly poolName: string;
    /**
     * The running mode of the pool.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-runningmode
     */
    readonly runningMode?: string;
    /**
     * @deprecated this property has been deprecated
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
    /**
     * The amount of time that a pool session remains active after users disconnect.
     *
     * If they try to reconnect to the pool session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new pool instance.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-timeoutsettings
     */
    readonly timeoutSettings?: cdk.IResolvable | CfnWorkspacesPool.TimeoutSettingsProperty;
}
export type { IConnectionAliasRef, ConnectionAliasReference };
export type { IWorkspaceRef, WorkspaceReference };
export type { IWorkspacesPoolRef, WorkspacesPoolReference };
