export interface UserStackAssociation {
    /** The name of the stack that is associated with the user. */
    StackName: string;
    /** The email address of the user who is associated with the stack. Users' email addresses are case-sensitive. */
    UserName: string;
    /** The authentication type for the user. */
    AuthenticationType: 'API' | 'SAML' | 'USERPOOL' | 'AWS_AD';
    /** Specifies whether a welcome email is sent to a user after the user is created in the user pool. */
    SendEmailNotification?: boolean;
}
export interface S3Location {
    /** The S3 bucket of the S3 object. */
    S3Bucket: string;
    /** The S3 key of the S3 object. This is required when used for the following: IconS3Location (Actions: CreateApplication and UpdateApplication) SessionScriptS3Location (Actions: CreateFleet and UpdateFle */
    S3Key?: string;
}
export interface ScriptDetails {
    /** The S3 object location for the script. */
    ScriptS3Location: S3Location;
    /** The run path for the script. */
    ExecutablePath: string;
    /** The runtime parameters passed to the run path for the script. */
    ExecutableParameters?: string;
    /** The run timeout, in seconds, for the script. */
    TimeoutInSeconds: number;
}
export interface VpcConfig {
    /** The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subn */
    SubnetIds?: string[];
    /** The identifiers of the security groups for the fleet or image builder. */
    SecurityGroupIds?: string[];
}
export interface AccessEndpoint {
    /** The type of interface endpoint. */
    EndpointType: 'STREAMING';
    /** The identifier (ID) of the VPC in which the interface endpoint is used. */
    VpceId?: string;
}
export interface ServiceAccountCredentials {
    /** The user name of the account. This account must have the following privileges: create computer objects, join computers to the domain, and change/reset the password on descendant computer objects for t */
    AccountName: string;
    /** The password for the account. */
    AccountPassword: string;
}
export interface CertificateBasedAuthProperties {
    /** The status of the certificate-based authentication properties. */
    Status?: 'DISABLED' | 'ENABLED' | 'ENABLED_NO_DIRECTORY_LOGIN_FALLBACK';
    /** The ARN of the AWS Certificate Manager Private CA resource. */
    CertificateAuthorityArn?: string;
}
export interface EntitlementAttribute {
    /** A supported AWS IAM SAML PrincipalTag attribute that is matched to the associated value when a user identity federates into a WorkSpaces Applications SAML application. The following are valid values:  */
    Name: string;
    /** A value that is matched to a supported SAML attribute name when a user identity federates into a WorkSpaces Applications SAML application. */
    Value: string;
}
export interface ComputeCapacity {
    /** The desired number of streaming instances. */
    DesiredInstances?: number;
    /** The desired number of user sessions for a multi-session fleet. This is not allowed for single-session fleets. When you create a fleet, you must set either the DesiredSessions or DesiredInstances attri */
    DesiredSessions?: number;
}
export interface DomainJoinInfo {
    /** The fully qualified name of the directory (for example, corp.example.com). */
    DirectoryName?: string;
    /** The distinguished name of the organizational unit for computer accounts. */
    OrganizationalUnitDistinguishedName?: string;
}
export interface VolumeConfig {
    /** The size of the root volume in GB. Valid range is 200-500 GB. The default is 200 GB, which is included in the hourly instance rate. Additional storage beyond 200 GB incurs extra charges and applies to */
    VolumeSizeInGb?: number;
}
export interface RuntimeValidationConfig {
    /** The instance type to use for runtime validation testing. It's recommended to use the same instance type you plan to use for your fleet to ensure accurate validation results. */
    IntendedInstanceType?: string;
}
export interface ApplicationConfig {
    /** The name of the application. This is a required field that must be unique within the application catalog and between 1-100 characters, matching the pattern ^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,99}$. */
    Name: string;
    /** The display name shown to users for this application. This field is optional and can be 0-100 characters, matching the pattern ^[a-zA-Z0-9][a-zA-Z0-9_. -]{0,99}$. */
    DisplayName?: string;
    /** The absolute path to the executable file that launches the application. This is a required field that can be 1-32767 characters to support Windows extended file paths. Use escaped file path strings li */
    AbsoluteAppPath: string;
    /** The absolute path to the icon file for the application. This field is optional and can be 1-32767 characters. If not provided, the icon is derived from the executable. Use PNG images with proper trans */
    AbsoluteIconPath?: string;
    /** The absolute path to the prewarm manifest file for this application. This field is optional and only applicable when using application-specific manifests. The path can be 1-32767 characters and should */
    AbsoluteManifestPath?: string;
    /** The working directory to use when launching the application. This field is optional and can be 0-32767 characters. Use escaped file path strings like "C:\\\\Path\\\\To\\\\Working\\\\Directory". */
    WorkingDirectory?: string;
    /** The launch parameters to pass to the application executable. This field is optional and can be 0-1024 characters. Use escaped strings with the full list of required parameters, such as PowerShell scri */
    LaunchParameters?: string;
}
export interface StorageConnector {
    /** The type of storage connector. */
    ConnectorType: 'HOMEFOLDERS' | 'GOOGLE_DRIVE' | 'ONE_DRIVE';
    /** The ARN of the storage connector. */
    ResourceIdentifier?: string;
    /** The names of the domains for the account. */
    Domains?: any[];
    /** The OneDrive for Business domains where you require admin consent when users try to link their OneDrive account to WorkSpaces Applications. The attribute can only be specified when ConnectorType=ONE_D */
    DomainsRequireAdminConsent?: any[];
}
export interface UserSetting {
    /** The action that is enabled or disabled. */
    Action: 'CLIPBOARD_COPY_FROM_LOCAL_DEVICE' | 'CLIPBOARD_COPY_TO_LOCAL_DEVICE' | 'FILE_UPLOAD' | 'FILE_DOWNLOAD' | 'PRINTING_TO_LOCAL_DEVICE' | 'DOMAIN_PASSWORD_SIGNIN' | 'DOMAIN_SMART_CARD_SIGNIN' | 'AUTO_TIME_ZONE_REDIRECTION';
    /** Indicates whether the action is enabled or disabled. */
    Permission: 'ENABLED' | 'DISABLED';
    /** Specifies the number of characters that can be copied by end users from the local device to the remote session, and to the local device from the remote session. This can be specified only for the CLIP */
    MaximumLength?: number;
}
export interface ApplicationSettings {
    /** Enables or disables persistent application settings for users during their streaming sessions. */
    Enabled: boolean;
    /** The path prefix for the S3 bucket where users’ persistent application settings are stored. You can allow the same persistent application settings to be used across multiple stacks by specifying the sa */
    SettingsGroup?: string;
}
export interface StreamingExperienceSettings {
    /** The preferred protocol that you want to use while streaming your application. */
    PreferredProtocol?: 'TCP' | 'UDP';
}
export interface ThemeFooterLink {
    /** The name of the websites that display in the catalog page footer. */
    DisplayName?: string;
    /** The URL of the websites that display in the catalog page footer. */
    FooterLinkURL?: string;
}
export interface Filter {
    /** The name of the filter. Valid filter names depend on the operation being performed. */
    Name: string;
    /** The values for the filter. Multiple values can be specified for a single filter name. */
    Values: any[];
}
export interface ImagePermissions {
    /** Indicates whether the image can be used for a fleet. */
    allowFleet?: boolean;
    /** Indicates whether the image can be used for an image builder. */
    allowImageBuilder?: boolean;
}
export interface AssociateAppBlockBuilderAppBlockInput {
    /** The ARN of the app block. */
    AppBlockArn: string;
    /** The name of the app block builder. */
    AppBlockBuilderName: string;
}
export interface AssociateApplicationFleetInput {
    /** The ARN of the application. */
    ApplicationArn: string;
    /** The name of the fleet. */
    FleetName: string;
}
export interface AssociateApplicationToEntitlementInput {
    /** The identifier of the application. */
    ApplicationIdentifier: string;
    /** The name of the entitlement. */
    EntitlementName: string;
    /** The name of the stack. */
    StackName: string;
}
export interface AssociateFleetInput {
    /** The name of the fleet. */
    FleetName: string;
    /** The name of the stack. */
    StackName: string;
}
export interface AssociateSoftwareToImageBuilderInput {
    /** The name of the target image builder instance. */
    ImageBuilderName: string;
    /** The list of license included applications to associate with the image builder. Possible values include the following: Microsoft_Office_2021_LTSC_Professional_Plus_32Bit Microsoft_Office_2021_LTSC_Prof */
    SoftwareNames: string[];
}
export interface BatchAssociateUserStackInput {
    /** The list of UserStackAssociation objects. */
    UserStackAssociations: UserStackAssociation[];
}
export interface BatchDisassociateUserStackInput {
    /** The list of UserStackAssociation objects. */
    UserStackAssociations: UserStackAssociation[];
}
export interface CopyImageInput {
    /** The name that the image will have when it is copied to the destination. */
    DestinationImageName: string;
    /** The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region. */
    DestinationRegion: string;
    /** The name of the image to copy. */
    SourceImageName: string;
    /** The description that the image will have when it is copied to the destination. */
    DestinationImageDescription?: string;
}
export interface CreateAppBlockInput {
    /** The name of the app block. */
    Name: string;
    /** The source S3 location of the app block. */
    SourceS3Location: S3Location;
    /** The description of the app block. */
    Description?: string;
    /** The display name of the app block. This is not displayed to the user. */
    DisplayName?: string;
    /** The packaging type of the app block. */
    PackagingType?: 'CUSTOM' | 'APPSTREAM2';
    /** The post setup script details of the app block. This can only be provided for the APPSTREAM2 PackagingType. */
    PostSetupScriptDetails?: ScriptDetails;
    /** The setup script details of the app block. This must be provided for the CUSTOM PackagingType. */
    SetupScriptDetails?: ScriptDetails;
    /** The tags assigned to the app block. */
    Tags?: Record<string, string>;
}
export interface CreateAppBlockBuilderInput {
    /** The instance type to use when launching the app block builder. The following instance types are available: stream.standard.small stream.standard.medium stream.standard.large stream.standard.xlarge str */
    InstanceType: string;
    /** The unique name for the app block builder. */
    Name: string;
    /** The platform of the app block builder. WINDOWS_SERVER_2019 is the only valid value. */
    Platform: 'WINDOWS_SERVER_2019';
    /** The VPC configuration for the app block builder. App block builders require that you specify at least two subnets in different availability zones. */
    VpcConfig: VpcConfig;
    /** The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints. */
    AccessEndpoints?: AccessEndpoint[];
    /** The description of the app block builder. */
    Description?: string;
    /** Set to true to disable Instance Metadata Service Version 1 (IMDSv1) and enforce IMDSv2. Set to false to enable both IMDSv1 and IMDSv2. */
    DisableIMDSV1?: boolean;
    /** The display name of the app block builder. */
    DisplayName?: string;
    /** Enables or disables default internet access for the app block builder. */
    EnableDefaultInternetAccess?: boolean;
    /** The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To assume a role, the app block builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes */
    IamRoleArn?: string;
    /** The tags to associate with the app block builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. If you do not specif */
    Tags?: Record<string, string>;
}
export interface CreateAppBlockBuilderStreamingURLInput {
    /** The name of the app block builder. */
    AppBlockBuilderName: string;
    /** The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds. */
    Validity?: number;
}
export interface CreateApplicationInput {
    /** The app block ARN to which the application should be associated */
    AppBlockArn: string;
    /** The location in S3 of the application icon. */
    IconS3Location: S3Location;
    /** The instance families the application supports. Valid values are GENERAL_PURPOSE and GRAPHICS_G4. */
    InstanceFamilies: string[];
    /** The launch path of the application. */
    LaunchPath: string;
    /** The name of the application. This name is visible to users when display name is not specified. */
    Name: string;
    /** The platforms the application supports. WINDOWS_SERVER_2019, AMAZON_LINUX2 and UBUNTU_PRO_2404 are supported for Elastic fleets. */
    Platforms: 'WINDOWS' | 'WINDOWS_SERVER_2016' | 'WINDOWS_SERVER_2019' | 'WINDOWS_SERVER_2022' | 'WINDOWS_SERVER_2025' | 'AMAZON_LINUX2' | 'RHEL8' | 'ROCKY_LINUX8' | 'UBUNTU_PRO_2404'[];
    /** The description of the application. */
    Description?: string;
    /** The display name of the application. This name is visible to users in the application catalog. */
    DisplayName?: string;
    /** The launch parameters of the application. */
    LaunchParameters?: string;
    /** The tags assigned to the application. */
    Tags?: Record<string, string>;
    /** The working directory of the application. */
    WorkingDirectory?: string;
}
export interface CreateDirectoryConfigInput {
    /** The fully qualified name of the directory (for example, corp.example.com). */
    DirectoryName: string;
    /** The distinguished names of the organizational units for computer accounts. */
    OrganizationalUnitDistinguishedNames: string[];
    /** The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) user identities to Active Directory domain-joined streaming instances. Fallback is turned on by de */
    CertificateBasedAuthProperties?: CertificateBasedAuthProperties;
    /** The credentials for the service account used by the fleet or image builder to connect to the directory. */
    ServiceAccountCredentials?: ServiceAccountCredentials;
}
export interface CreateEntitlementInput {
    /** Specifies whether all or selected apps are entitled. */
    AppVisibility: 'ALL' | 'ASSOCIATED';
    /** The attributes of the entitlement. */
    Attributes: EntitlementAttribute[];
    /** The name of the entitlement. */
    Name: string;
    /** The name of the stack with which the entitlement is associated. */
    StackName: string;
    /** The description of the entitlement. */
    Description?: string;
}
export interface CreateExportImageTaskInput {
    /** The name for the exported EC2 AMI. This is a required field that must be unique within your account and region. */
    AmiName: string;
    /** The ARN of the IAM role that allows WorkSpaces Applications to create the AMI. The role must have permissions to copy images, describe images, and create tags, with a trust relationship allowing appst */
    IamRoleArn: string;
    /** The name of the WorkSpaces Applications image to export. The image must be in an available state and owned by your account. */
    ImageName: string;
    /** An optional description for the exported AMI. This description will be applied to the resulting EC2 AMI. */
    AmiDescription?: string;
    /** The tags to apply to the exported AMI. These tags help you organize and manage your EC2 AMIs. */
    TagSpecifications?: Record<string, string>;
}
export interface CreateFleetInput {
    /** The instance type to use when launching fleet instances. The following instance types are available: stream.standard.small stream.standard.medium stream.standard.large stream.standard.xlarge stream.st */
    InstanceType: string;
    /** A unique name for the fleet. */
    Name: string;
    /** The desired capacity for the fleet. This is not allowed for Elastic fleets. For Elastic fleets, specify MaxConcurrentSessions instead. */
    ComputeCapacity?: ComputeCapacity;
    /** The description to display. */
    Description?: string;
    /** Set to true to disable Instance Metadata Service Version 1 (IMDSv1) and enforce IMDSv2. Set to false to enable both IMDSv1 and IMDSv2. Before disabling IMDSv1, ensure your WorkSpaces Applications imag */
    DisableIMDSV1?: boolean;
    /** The amount of time 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 this time int */
    DisconnectTimeoutInSeconds?: number;
    /** The fleet name to display. */
    DisplayName?: string;
    /** The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. This is not allowed for Elastic fleets. */
    DomainJoinInfo?: DomainJoinInfo;
    /** Enables or disables default internet access for the fleet. */
    EnableDefaultInternetAccess?: boolean;
    /** The fleet type. ALWAYS_ON Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps. ON_DEMAND Provide users wit */
    FleetType?: 'ALWAYS_ON' | 'ON_DEMAND' | 'ELASTIC';
    /** The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the r */
    IamRoleArn?: string;
    /** The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they a */
    IdleDisconnectTimeoutInSeconds?: number;
    /** The ARN of the public, private, or shared image to use. */
    ImageArn?: string;
    /** The name of the image used to create the fleet. */
    ImageName?: string;
    /** The maximum concurrent sessions of the Elastic fleet. This is required for Elastic fleets, and not allowed for other fleet types. */
    MaxConcurrentSessions?: number;
    /** The maximum number of user sessions on an instance. This only applies to multi-session fleets. */
    MaxSessionsPerInstance?: number;
    /** The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to  */
    MaxUserDurationInSeconds?: number;
    /** The fleet platform. WINDOWS_SERVER_2019, AMAZON_LINUX2 and UBUNTU_PRO_2404 are supported for Elastic fleets. */
    Platform?: 'WINDOWS' | 'WINDOWS_SERVER_2016' | 'WINDOWS_SERVER_2019' | 'WINDOWS_SERVER_2022' | 'WINDOWS_SERVER_2025' | 'AMAZON_LINUX2' | 'RHEL8' | 'ROCKY_LINUX8' | 'UBUNTU_PRO_2404';
    /** The configuration for the root volume of fleet instances. Use this to customize storage capacity from 200 GB up to 500 GB based on your application requirements. */
    RootVolumeConfig?: VolumeConfig;
    /** The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets. */
    SessionScriptS3Location?: S3Location;
    /** The WorkSpaces Applications view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is speci */
    StreamView?: 'APP' | 'DESKTOP';
    /** The tags to associate with the fleet. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. If you do not specify a value, t */
    Tags?: Record<string, string>;
    /** The USB device filter strings that specify which USB devices a user can redirect to the fleet streaming session, when using the Windows native client. This is allowed but not required for Elastic flee */
    UsbDeviceFilterStrings?: string[];
    /** The VPC configuration for the fleet. This is required for Elastic fleets, but not required for other fleet types. Elastic fleets require that you specify at least two subnets in different availability */
    VpcConfig?: VpcConfig;
}
export interface CreateImageBuilderInput {
    /** The instance type to use when launching the image builder. The following instance types are available: stream.standard.small stream.standard.medium stream.standard.large stream.compute.large stream.co */
    InstanceType: string;
    /** A unique name for the image builder. */
    Name: string;
    /** The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints. */
    AccessEndpoints?: AccessEndpoint[];
    /** The version of the WorkSpaces Applications agent to use for this image builder. To use the latest version of the WorkSpaces Applications agent, specify [LATEST]. */
    AppstreamAgentVersion?: string;
    /** The description to display. */
    Description?: string;
    /** Set to true to disable Instance Metadata Service Version 1 (IMDSv1) and enforce IMDSv2. Set to false to enable both IMDSv1 and IMDSv2. Before disabling IMDSv1, ensure your WorkSpaces Applications imag */
    DisableIMDSV1?: boolean;
    /** The image builder name to display. */
    DisplayName?: string;
    /** The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain. */
    DomainJoinInfo?: DomainJoinInfo;
    /** Enables or disables default internet access for the image builder. */
    EnableDefaultInternetAccess?: boolean;
    /** The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN */
    IamRoleArn?: string;
    /** The ARN of the public, private, or shared image to use. */
    ImageArn?: string;
    /** The name of the image used to create the image builder. */
    ImageName?: string;
    /** The configuration for the root volume of the image builder. Use this to customize storage capacity from 200 GB up to 500 GB based on your application installation requirements. */
    RootVolumeConfig?: VolumeConfig;
    /** The list of license included applications to install on the image builder during creation. Possible values include the following: Microsoft_Office_2021_LTSC_Professional_Plus_32Bit Microsoft_Office_20 */
    SoftwaresToInstall?: string[];
    /** The list of license included applications to uninstall from the image builder during creation. Possible values include the following: Microsoft_Office_2021_LTSC_Professional_Plus_32Bit Microsoft_Offic */
    SoftwaresToUninstall?: string[];
    /** The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. Generally allowed charac */
    Tags?: Record<string, string>;
    /** The VPC configuration for the image builder. You can specify only one subnet. */
    VpcConfig?: VpcConfig;
}
export interface CreateImageBuilderStreamingURLInput {
    /** The name of the image builder. */
    Name: string;
    /** The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds. */
    Validity?: number;
}
export interface CreateImportedImageInput {
    /** The ARN of the IAM role that allows WorkSpaces Applications to access your AMI. The role must have permissions to modify image attributes and describe images, with a trust relationship allowing appstr */
    IamRoleArn: string;
    /** A unique name for the imported image. The name must be between 1 and 100 characters and can contain letters, numbers, underscores, periods, and hyphens. */
    Name: string;
    /** The ID of the EC2 AMI to import. The AMI must meet specific requirements including Windows Server 2022 Full Base, UEFI boot mode, TPM 2.0 support, and proper drivers. */
    SourceAmiId: string;
    /** The version of the WorkSpaces Applications agent to use for the imported image. Choose CURRENT_LATEST to use the agent version available at the time of import, or ALWAYS_LATEST to automatically update */
    AgentSoftwareVersion?: 'CURRENT_LATEST' | 'ALWAYS_LATEST';
    /** Configuration for the application catalog of the imported image. This allows you to specify applications available for streaming, including their paths, icons, and launch parameters. This field contai */
    AppCatalogConfig?: ApplicationConfig[];
    /** An optional description for the imported image. The description must match approved regex patterns and can be up to 256 characters. */
    Description?: string;
    /** An optional display name for the imported image. The display name must match approved regex patterns and can be up to 100 characters. */
    DisplayName?: string;
    /** When set to true, performs validation checks without actually creating the imported image. Use this to verify your configuration before executing the actual import operation. */
    DryRun?: boolean;
    /** Configuration for runtime validation of the imported image. When specified, WorkSpaces Applications provisions an instance to test streaming functionality, which helps ensure the image is suitable for */
    RuntimeValidationConfig?: RuntimeValidationConfig;
    /** The tags to apply to the imported image. Tags help you organize and manage your WorkSpaces Applications resources. */
    Tags?: Record<string, string>;
}
export interface CreateStackInput {
    /** The name of the stack. */
    Name: string;
    /** The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to WorkSpaces Applications only through the specified endpoints. */
    AccessEndpoints?: AccessEndpoint[];
    /** The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and a */
    ApplicationSettings?: ApplicationSettings;
    /** The description to display. */
    Description?: string;
    /** The stack name to display. */
    DisplayName?: string;
    /** The domains where WorkSpaces Applications streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded WorkSpaces Applications streaming sessions. */
    EmbedHostDomains?: string[];
    /** The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. */
    FeedbackURL?: string;
    /** The URL that users are redirected to after their streaming session ends. */
    RedirectURL?: string;
    /** The storage connectors to enable. */
    StorageConnectors?: StorageConnector[];
    /** The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client. */
    StreamingExperienceSettings?: StreamingExperienceSettings;
    /** The tags to associate with the stack. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. If you do not specify a value, t */
    Tags?: Record<string, string>;
    /** The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled. */
    UserSettings?: UserSetting[];
}
export interface CreateStreamingURLInput {
    /** The name of the fleet. */
    FleetName: string;
    /** The name of the stack. */
    StackName: string;
    /** The identifier of the user. */
    UserId: string;
    /** The name of the application to launch after the session starts. This is the name that you specified as Name in the Image Assistant. If your fleet is enabled for the Desktop stream view, you can also c */
    ApplicationId?: string;
    /** The session context. For more information, see Session Context in the Amazon WorkSpaces Applications Administration Guide. */
    SessionContext?: string;
    /** The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 60 seconds. */
    Validity?: number;
}
export interface CreateThemeForStackInput {
    /** The S3 location of the favicon. The favicon enables users to recognize their application streaming site in a browser full of tabs or bookmarks. It is displayed at the top of the browser tab for the ap */
    FaviconS3Location: S3Location;
    /** The organization logo that appears on the streaming application catalog page. */
    OrganizationLogoS3Location: S3Location;
    /** The name of the stack for the theme. */
    StackName: string;
    /** The color theme that is applied to website links, text, and buttons. These colors are also applied as accents in the background for the streaming application catalog page. */
    ThemeStyling: 'LIGHT_BLUE' | 'BLUE' | 'PINK' | 'RED';
    /** The title that is displayed at the top of the browser tab during users' application streaming sessions. */
    TitleText: string;
    /** The links that are displayed in the footer of the streaming application catalog page. These links are helpful resources for users, such as the organization's IT support and product marketing sites. */
    FooterLinks?: ThemeFooterLink[];
}
export interface CreateUpdatedImageInput {
    /** The name of the image to update. */
    existingImageName: string;
    /** The name of the new image. The name must be unique within the AWS account and Region. */
    newImageName: string;
    /** Indicates whether to display the status of image update availability before WorkSpaces Applications initiates the process of creating a new updated image. If this value is set to true, WorkSpaces Appl */
    dryRun?: boolean;
    /** The description to display for the new image. */
    newImageDescription?: string;
    /** The name to display for the new image. */
    newImageDisplayName?: string;
    /** The tags to associate with the new image. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. Generally allowed characters */
    newImageTags?: Record<string, string>;
}
export interface CreateUserInput {
    /** The authentication type for the user. You must specify USERPOOL. */
    AuthenticationType: 'API' | 'SAML' | 'USERPOOL' | 'AWS_AD';
    /** The email address of the user. Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when th */
    UserName: string;
    /** The first name, or given name, of the user. */
    FirstName?: string;
    /** The last name, or surname, of the user. */
    LastName?: string;
    /** The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first n */
    MessageAction?: 'SUPPRESS' | 'RESEND';
}
export interface DeleteAppBlockInput {
    /** The name of the app block. */
    Name: string;
}
export interface DeleteAppBlockBuilderInput {
    /** The name of the app block builder. */
    Name: string;
}
export interface DeleteApplicationInput {
    /** The name of the application. */
    Name: string;
}
export interface DeleteDirectoryConfigInput {
    /** The name of the directory configuration. */
    DirectoryName: string;
}
export interface DeleteEntitlementInput {
    /** The name of the entitlement. */
    Name: string;
    /** The name of the stack with which the entitlement is associated. */
    StackName: string;
}
export interface DeleteFleetInput {
    /** The name of the fleet. */
    Name: string;
}
export interface DeleteImageInput {
    /** The name of the image. */
    Name: string;
}
export interface DeleteImageBuilderInput {
    /** The name of the image builder. */
    Name: string;
}
export interface DeleteImagePermissionsInput {
    /** The name of the private image. */
    Name: string;
    /** The 12-digit identifier of the AWS account for which to delete image permissions. */
    SharedAccountId: string;
}
export interface DeleteStackInput {
    /** The name of the stack. */
    Name: string;
}
export interface DeleteThemeForStackInput {
    /** The name of the stack for the theme. */
    StackName: string;
}
export interface DeleteUserInput {
    /** The authentication type for the user. You must specify USERPOOL. */
    AuthenticationType: 'API' | 'SAML' | 'USERPOOL' | 'AWS_AD';
    /** The email address of the user. Users' email addresses are case-sensitive. */
    UserName: string;
}
export interface DescribeAppBlockBuilderAppBlockAssociationsInput {
    /** The ARN of the app block. */
    AppBlockArn?: string;
    /** The name of the app block builder. */
    AppBlockBuilderName?: string;
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    NextToken?: string;
}
export interface DescribeAppBlockBuildersInput {
    /** The maximum size of each page of results. The maximum value is 25. */
    MaxResults?: number;
    /** The names of the app block builders. */
    Names?: string[];
    /** The pagination token used to retrieve the next page of results for this operation. */
    NextToken?: string;
}
export interface DescribeAppBlocksInput {
    /** The ARNs of the app blocks. */
    Arns?: string[];
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    NextToken?: string;
}
export interface DescribeApplicationFleetAssociationsInput {
    /** The ARN of the application. */
    ApplicationArn?: string;
    /** The name of the fleet. */
    FleetName?: string;
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    NextToken?: string;
}
export interface DescribeApplicationsInput {
    /** The ARNs for the applications. */
    Arns?: string[];
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    NextToken?: string;
}
export interface DescribeAppLicenseUsageInput {
    /** Billing period for the usage record. Specify the value in yyyy-mm format. For example, for August 2025, use 2025-08. */
    BillingPeriod: string;
    /** The maximum number of results to return. */
    MaxResults?: number;
    /** Token for pagination of results. */
    NextToken?: string;
}
export interface DescribeDirectoryConfigsInput {
    /** The directory names. */
    DirectoryNames?: string[];
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface DescribeEntitlementsInput {
    /** The name of the stack with which the entitlement is associated. */
    StackName: string;
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The name of the entitlement. */
    Name?: string;
    /** The pagination token used to retrieve the next page of results for this operation. */
    NextToken?: string;
}
export interface DescribeFleetsInput {
    /** The names of the fleets to describe. */
    Names?: string[];
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface DescribeImageBuildersInput {
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The names of the image builders to describe. */
    Names?: string[];
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface DescribeImagePermissionsInput {
    /** The name of the private image for which to describe permissions. The image must be one that you own. */
    Name: string;
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
    /** The 12-digit identifier of one or more AWS accounts with which the image is shared. */
    SharedAwsAccountIds?: string[];
}
export interface DescribeImagesInput {
    /** The ARNs of the public, private, and shared images to describe. */
    Arns?: string[];
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The names of the public or private images to describe. */
    Names?: string[];
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
    /** The type of image (public, private, or shared) to describe. */
    Type?: 'PUBLIC' | 'PRIVATE' | 'SHARED';
}
export interface DescribeSessionsInput {
    /** The name of the fleet. This value is case-sensitive. */
    FleetName: string;
    /** The name of the stack. This value is case-sensitive. */
    StackName: string;
    /** The authentication method. Specify API for a user authenticated using a streaming URL or SAML for a SAML federated user. The default is to authenticate users using a streaming URL. */
    AuthenticationType?: 'API' | 'SAML' | 'USERPOOL' | 'AWS_AD';
    /** The identifier for the instance hosting the session. */
    InstanceId?: string;
    /** The size of each page of results. The default value is 20 and the maximum value is 50. */
    Limit?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
    /** The user identifier (ID). If you specify a user ID, you must also specify the authentication type. */
    UserId?: string;
}
export interface DescribeSoftwareAssociationsInput {
    /** The ARN of the resource to describe software associations. Possible resources are Image and ImageBuilder. */
    AssociatedResource: string;
    /** The maximum number of results to return. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. */
    NextToken?: string;
}
export interface DescribeStacksInput {
    /** The names of the stacks to describe. */
    Names?: string[];
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface DescribeThemeForStackInput {
    /** The name of the stack for the theme. */
    StackName: string;
}
export interface DescribeUsageReportSubscriptionsInput {
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface DescribeUsersInput {
    /** The authentication type for the users in the user pool to describe. You must specify USERPOOL. */
    AuthenticationType: 'API' | 'SAML' | 'USERPOOL' | 'AWS_AD';
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface DescribeUserStackAssociationsInput {
    /** The authentication type for the user who is associated with the stack. You must specify USERPOOL. */
    AuthenticationType?: 'API' | 'SAML' | 'USERPOOL' | 'AWS_AD';
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
    /** The name of the stack that is associated with the user. */
    StackName?: string;
    /** The email address of the user who is associated with the stack. Users' email addresses are case-sensitive. */
    UserName?: string;
}
export interface DisableUserInput {
    /** The authentication type for the user. You must specify USERPOOL. */
    AuthenticationType: 'API' | 'SAML' | 'USERPOOL' | 'AWS_AD';
    /** The email address of the user. Users' email addresses are case-sensitive. */
    UserName: string;
}
export interface DisassociateAppBlockBuilderAppBlockInput {
    /** The ARN of the app block. */
    AppBlockArn: string;
    /** The name of the app block builder. */
    AppBlockBuilderName: string;
}
export interface DisassociateApplicationFleetInput {
    /** The ARN of the application. */
    ApplicationArn: string;
    /** The name of the fleet. */
    FleetName: string;
}
export interface DisassociateApplicationFromEntitlementInput {
    /** The identifier of the application to remove from the entitlement. */
    ApplicationIdentifier: string;
    /** The name of the entitlement. */
    EntitlementName: string;
    /** The name of the stack with which the entitlement is associated. */
    StackName: string;
}
export interface DisassociateFleetInput {
    /** The name of the fleet. */
    FleetName: string;
    /** The name of the stack. */
    StackName: string;
}
export interface DisassociateSoftwareFromImageBuilderInput {
    /** The name of the target image builder instance. */
    ImageBuilderName: string;
    /** The list of license included applications to disassociate from the image builder. Possible values include the following: Microsoft_Office_2021_LTSC_Professional_Plus_32Bit Microsoft_Office_2021_LTSC_P */
    SoftwareNames: string[];
}
export interface EnableUserInput {
    /** The authentication type for the user. You must specify USERPOOL. */
    AuthenticationType: 'API' | 'SAML' | 'USERPOOL' | 'AWS_AD';
    /** The email address of the user. Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when th */
    UserName: string;
}
export interface ExpireSessionInput {
    /** The identifier of the streaming session. */
    SessionId: string;
}
export interface GetExportImageTaskInput {
    /** The unique identifier of the export image task to retrieve information about. */
    TaskId?: string;
}
export interface ListAssociatedFleetsInput {
    /** The name of the stack. */
    StackName: string;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface ListAssociatedStacksInput {
    /** The name of the fleet. */
    FleetName: string;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface ListEntitledApplicationsInput {
    /** The name of the entitlement. */
    EntitlementName: string;
    /** The name of the stack with which the entitlement is associated. */
    StackName: string;
    /** The maximum size of each page of results. */
    MaxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    NextToken?: string;
}
export interface ListExportImageTasksInput {
    /** Optional filters to apply when listing export image tasks. Filters help you narrow down the results based on specific criteria. */
    Filters?: Filter[];
    /** The maximum number of export image tasks to return in a single request. The valid range is 1-500, with a default of 50. */
    MaxResults?: number;
    /** The pagination token from a previous request. Use this to retrieve the next page of results when there are more tasks than the MaxResults limit. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
}
export interface StartAppBlockBuilderInput {
    /** The name of the app block builder. */
    Name: string;
}
export interface StartFleetInput {
    /** The name of the fleet. */
    Name: string;
}
export interface StartImageBuilderInput {
    /** The name of the image builder. */
    Name: string;
    /** The version of the WorkSpaces Applications agent to use for this image builder. To use the latest version of the WorkSpaces Applications agent, specify [LATEST]. */
    AppstreamAgentVersion?: string;
}
export interface StartSoftwareDeploymentToImageBuilderInput {
    /** The name of the target image builder instance. */
    ImageBuilderName: string;
    /** Whether to retry previously failed license included application deployments. */
    RetryFailedDeployments?: boolean;
}
export interface StopAppBlockBuilderInput {
    /** The name of the app block builder. */
    Name: string;
}
export interface StopFleetInput {
    /** The name of the fleet. */
    Name: string;
}
export interface StopImageBuilderInput {
    /** The name of the image builder. */
    Name: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** The tags to associate. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. If you do not specify a value, the value is set */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** The tag keys for the tags to disassociate. */
    TagKeys: string[];
}
export interface UpdateAppBlockBuilderInput {
    /** The unique name for the app block builder. */
    Name: string;
    /** The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints. */
    AccessEndpoints?: AccessEndpoint[];
    /** The attributes to delete from the app block builder. */
    AttributesToDelete?: 'IAM_ROLE_ARN' | 'ACCESS_ENDPOINTS' | 'VPC_CONFIGURATION_SECURITY_GROUP_IDS'[];
    /** The description of the app block builder. */
    Description?: string;
    /** Set to true to disable Instance Metadata Service Version 1 (IMDSv1) and enforce IMDSv2. Set to false to enable both IMDSv1 and IMDSv2. */
    DisableIMDSV1?: boolean;
    /** The display name of the app block builder. */
    DisplayName?: string;
    /** Enables or disables default internet access for the app block builder. */
    EnableDefaultInternetAccess?: boolean;
    /** The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To assume a role, the app block builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes */
    IamRoleArn?: string;
    /** The instance type to use when launching the app block builder. The following instance types are available: stream.standard.small stream.standard.medium stream.standard.large stream.standard.xlarge str */
    InstanceType?: string;
    /** The platform of the app block builder. WINDOWS_SERVER_2019 is the only valid value. */
    Platform?: 'WINDOWS' | 'WINDOWS_SERVER_2016' | 'WINDOWS_SERVER_2019' | 'WINDOWS_SERVER_2022' | 'WINDOWS_SERVER_2025' | 'AMAZON_LINUX2' | 'RHEL8' | 'ROCKY_LINUX8' | 'UBUNTU_PRO_2404';
    /** The VPC configuration for the app block builder. App block builders require that you specify at least two subnets in different availability zones. */
    VpcConfig?: VpcConfig;
}
export interface UpdateApplicationInput {
    /** The name of the application. This name is visible to users when display name is not specified. */
    Name: string;
    /** The ARN of the app block. */
    AppBlockArn?: string;
    /** The attributes to delete for an application. */
    AttributesToDelete?: 'LAUNCH_PARAMETERS' | 'WORKING_DIRECTORY'[];
    /** The description of the application. */
    Description?: string;
    /** The display name of the application. This name is visible to users in the application catalog. */
    DisplayName?: string;
    /** The icon S3 location of the application. */
    IconS3Location?: S3Location;
    /** The launch parameters of the application. */
    LaunchParameters?: string;
    /** The launch path of the application. */
    LaunchPath?: string;
    /** The working directory of the application. */
    WorkingDirectory?: string;
}
export interface UpdateDirectoryConfigInput {
    /** The name of the Directory Config object. */
    DirectoryName: string;
    /** The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) user identities to Active Directory domain-joined streaming instances. Fallback is turned on by de */
    CertificateBasedAuthProperties?: CertificateBasedAuthProperties;
    /** The distinguished names of the organizational units for computer accounts. */
    OrganizationalUnitDistinguishedNames?: string[];
    /** The credentials for the service account used by the fleet or image builder to connect to the directory. */
    ServiceAccountCredentials?: ServiceAccountCredentials;
}
export interface UpdateEntitlementInput {
    /** The name of the entitlement. */
    Name: string;
    /** The name of the stack with which the entitlement is associated. */
    StackName: string;
    /** Specifies whether all or only selected apps are entitled. */
    AppVisibility?: 'ALL' | 'ASSOCIATED';
    /** The attributes of the entitlement. */
    Attributes?: EntitlementAttribute[];
    /** The description of the entitlement. */
    Description?: string;
}
export interface UpdateFleetInput {
    /** The fleet attributes to delete. */
    AttributesToDelete?: 'VPC_CONFIGURATION' | 'VPC_CONFIGURATION_SECURITY_GROUP_IDS' | 'DOMAIN_JOIN_INFO' | 'IAM_ROLE_ARN' | 'USB_DEVICE_FILTER_STRINGS' | 'SESSION_SCRIPT_S3_LOCATION' | 'MAX_SESSIONS_PER_INSTANCE' | 'VOLUME_CONFIGURATION'[];
    /** The desired capacity for the fleet. This is not allowed for Elastic fleets. */
    ComputeCapacity?: ComputeCapacity;
    /** Deletes the VPC association for the specified fleet. */
    DeleteVpcConfig?: boolean;
    /** The description to display. */
    Description?: string;
    /** Set to true to disable Instance Metadata Service Version 1 (IMDSv1) and enforce IMDSv2. Set to false to enable both IMDSv1 and IMDSv2. Before disabling IMDSv1, ensure your WorkSpaces Applications imag */
    DisableIMDSV1?: boolean;
    /** The amount of time 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 this time int */
    DisconnectTimeoutInSeconds?: number;
    /** The fleet name to display. */
    DisplayName?: string;
    /** The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. */
    DomainJoinInfo?: DomainJoinInfo;
    /** Enables or disables default internet access for the fleet. */
    EnableDefaultInternetAccess?: boolean;
    /** The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the r */
    IamRoleArn?: string;
    /** The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they a */
    IdleDisconnectTimeoutInSeconds?: number;
    /** The ARN of the public, private, or shared image to use. */
    ImageArn?: string;
    /** The name of the image used to create the fleet. */
    ImageName?: string;
    /** The instance type to use when launching fleet instances. The following instance types are available: stream.standard.small stream.standard.medium stream.standard.large stream.standard.xlarge stream.st */
    InstanceType?: string;
    /** The maximum number of concurrent sessions for a fleet. */
    MaxConcurrentSessions?: number;
    /** The maximum number of user sessions on an instance. This only applies to multi-session fleets. */
    MaxSessionsPerInstance?: number;
    /** The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to  */
    MaxUserDurationInSeconds?: number;
    /** A unique name for the fleet. */
    Name?: string;
    /** The platform of the fleet. WINDOWS_SERVER_2019, AMAZON_LINUX2 and UBUNTU_PRO_2404 are supported for Elastic fleets. */
    Platform?: 'WINDOWS' | 'WINDOWS_SERVER_2016' | 'WINDOWS_SERVER_2019' | 'WINDOWS_SERVER_2022' | 'WINDOWS_SERVER_2025' | 'AMAZON_LINUX2' | 'RHEL8' | 'ROCKY_LINUX8' | 'UBUNTU_PRO_2404';
    /** The updated configuration for the root volume of fleet instances. Note that volume size cannot be decreased below the image volume size. */
    RootVolumeConfig?: VolumeConfig;
    /** The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets. */
    SessionScriptS3Location?: S3Location;
    /** The WorkSpaces Applications view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is speci */
    StreamView?: 'APP' | 'DESKTOP';
    /** The USB device filter strings that specify which USB devices a user can redirect to the fleet streaming session, when using the Windows native client. This is allowed but not required for Elastic flee */
    UsbDeviceFilterStrings?: string[];
    /** The VPC configuration for the fleet. This is required for Elastic fleets, but not required for other fleet types. Elastic fleets require that you specify at least two subnets in different availability */
    VpcConfig?: VpcConfig;
}
export interface UpdateImagePermissionsInput {
    /** The permissions for the image. */
    ImagePermissions: ImagePermissions;
    /** The name of the private image. */
    Name: string;
    /** The 12-digit identifier of the AWS account for which you want add or update image permissions. */
    SharedAccountId: string;
}
export interface UpdateStackInput {
    /** The name of the stack. */
    Name: string;
    /** The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to WorkSpaces Applications only through the specified endpoints. */
    AccessEndpoints?: AccessEndpoint[];
    /** The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and a */
    ApplicationSettings?: ApplicationSettings;
    /** The stack attributes to delete. */
    AttributesToDelete?: 'STORAGE_CONNECTORS' | 'STORAGE_CONNECTOR_HOMEFOLDERS' | 'STORAGE_CONNECTOR_GOOGLE_DRIVE' | 'STORAGE_CONNECTOR_ONE_DRIVE' | 'REDIRECT_URL' | 'FEEDBACK_URL' | 'THEME_NAME' | 'USER_SETTINGS' | 'EMBED_HOST_DOMAINS' | 'IAM_ROLE_ARN' | 'ACCESS_ENDPOINTS' | 'STREAMING_EXPERIENCE_SETTINGS'[];
    /** Deletes the storage connectors currently enabled for the stack. */
    DeleteStorageConnectors?: boolean;
    /** The description to display. */
    Description?: string;
    /** The stack name to display. */
    DisplayName?: string;
    /** The domains where WorkSpaces Applications streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded WorkSpaces Applications streaming sessions. */
    EmbedHostDomains?: string[];
    /** The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. */
    FeedbackURL?: string;
    /** The URL that users are redirected to after their streaming session ends. */
    RedirectURL?: string;
    /** The storage connectors to enable. */
    StorageConnectors?: StorageConnector[];
    /** The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client. */
    StreamingExperienceSettings?: StreamingExperienceSettings;
    /** The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled. */
    UserSettings?: UserSetting[];
}
export interface UpdateThemeForStackInput {
    /** The name of the stack for the theme. */
    StackName: string;
    /** The attributes to delete. */
    AttributesToDelete?: 'FOOTER_LINKS'[];
    /** The S3 location of the favicon. The favicon enables users to recognize their application streaming site in a browser full of tabs or bookmarks. It is displayed at the top of the browser tab for the ap */
    FaviconS3Location?: S3Location;
    /** The links that are displayed in the footer of the streaming application catalog page. These links are helpful resources for users, such as the organization's IT support and product marketing sites. */
    FooterLinks?: ThemeFooterLink[];
    /** The organization logo that appears on the streaming application catalog page. */
    OrganizationLogoS3Location?: S3Location;
    /** Specifies whether custom branding should be applied to catalog page or not. */
    State?: 'ENABLED' | 'DISABLED';
    /** The color theme that is applied to website links, text, and buttons. These colors are also applied as accents in the background for the streaming application catalog page. */
    ThemeStyling?: 'LIGHT_BLUE' | 'BLUE' | 'PINK' | 'RED';
    /** The title that is displayed at the top of the browser tab during users' application streaming sessions. */
    TitleText?: string;
}
/** AppStream service binding for Step Functions SDK integrations. */
export declare class AppStream {
    constructor();
    associateAppBlockBuilderAppBlock<T>(params: AssociateAppBlockBuilderAppBlockInput): Promise<T>;
    associateApplicationFleet<T>(params: AssociateApplicationFleetInput): Promise<T>;
    associateApplicationToEntitlement<T>(params: AssociateApplicationToEntitlementInput): Promise<T>;
    associateFleet<T>(params: AssociateFleetInput): Promise<T>;
    associateSoftwareToImageBuilder<T>(params: AssociateSoftwareToImageBuilderInput): Promise<T>;
    batchAssociateUserStack<T>(params: BatchAssociateUserStackInput): Promise<T>;
    batchDisassociateUserStack<T>(params: BatchDisassociateUserStackInput): Promise<T>;
    copyImage<T>(params: CopyImageInput): Promise<T>;
    createAppBlock<T>(params: CreateAppBlockInput): Promise<T>;
    createAppBlockBuilder<T>(params: CreateAppBlockBuilderInput): Promise<T>;
    createAppBlockBuilderStreamingURL<T>(params: CreateAppBlockBuilderStreamingURLInput): Promise<T>;
    createApplication<T>(params: CreateApplicationInput): Promise<T>;
    createDirectoryConfig<T>(params: CreateDirectoryConfigInput): Promise<T>;
    createEntitlement<T>(params: CreateEntitlementInput): Promise<T>;
    createExportImageTask<T>(params: CreateExportImageTaskInput): Promise<T>;
    createFleet<T>(params: CreateFleetInput): Promise<T>;
    createImageBuilder<T>(params: CreateImageBuilderInput): Promise<T>;
    createImageBuilderStreamingURL<T>(params: CreateImageBuilderStreamingURLInput): Promise<T>;
    createImportedImage<T>(params: CreateImportedImageInput): Promise<T>;
    createStack<T>(params: CreateStackInput): Promise<T>;
    createStreamingURL<T>(params: CreateStreamingURLInput): Promise<T>;
    createThemeForStack<T>(params: CreateThemeForStackInput): Promise<T>;
    createUpdatedImage<T>(params: CreateUpdatedImageInput): Promise<T>;
    createUsageReportSubscription<T>(params: Record<string, any>): Promise<T>;
    createUser<T>(params: CreateUserInput): Promise<T>;
    deleteAppBlock<T>(params: DeleteAppBlockInput): Promise<T>;
    deleteAppBlockBuilder<T>(params: DeleteAppBlockBuilderInput): Promise<T>;
    deleteApplication<T>(params: DeleteApplicationInput): Promise<T>;
    deleteDirectoryConfig<T>(params: DeleteDirectoryConfigInput): Promise<T>;
    deleteEntitlement<T>(params: DeleteEntitlementInput): Promise<T>;
    deleteFleet<T>(params: DeleteFleetInput): Promise<T>;
    deleteImage<T>(params: DeleteImageInput): Promise<T>;
    deleteImageBuilder<T>(params: DeleteImageBuilderInput): Promise<T>;
    deleteImagePermissions<T>(params: DeleteImagePermissionsInput): Promise<T>;
    deleteStack<T>(params: DeleteStackInput): Promise<T>;
    deleteThemeForStack<T>(params: DeleteThemeForStackInput): Promise<T>;
    deleteUsageReportSubscription<T>(params: Record<string, any>): Promise<T>;
    deleteUser<T>(params: DeleteUserInput): Promise<T>;
    describeAppBlockBuilderAppBlockAssociations<T>(params: DescribeAppBlockBuilderAppBlockAssociationsInput): Promise<T>;
    describeAppBlockBuilders<T>(params: DescribeAppBlockBuildersInput): Promise<T>;
    describeAppBlocks<T>(params: DescribeAppBlocksInput): Promise<T>;
    describeApplicationFleetAssociations<T>(params: DescribeApplicationFleetAssociationsInput): Promise<T>;
    describeApplications<T>(params: DescribeApplicationsInput): Promise<T>;
    describeAppLicenseUsage<T>(params: DescribeAppLicenseUsageInput): Promise<T>;
    describeDirectoryConfigs<T>(params: DescribeDirectoryConfigsInput): Promise<T>;
    describeEntitlements<T>(params: DescribeEntitlementsInput): Promise<T>;
    describeFleets<T>(params: DescribeFleetsInput): Promise<T>;
    describeImageBuilders<T>(params: DescribeImageBuildersInput): Promise<T>;
    describeImagePermissions<T>(params: DescribeImagePermissionsInput): Promise<T>;
    describeImages<T>(params: DescribeImagesInput): Promise<T>;
    describeSessions<T>(params: DescribeSessionsInput): Promise<T>;
    describeSoftwareAssociations<T>(params: DescribeSoftwareAssociationsInput): Promise<T>;
    describeStacks<T>(params: DescribeStacksInput): Promise<T>;
    describeThemeForStack<T>(params: DescribeThemeForStackInput): Promise<T>;
    describeUsageReportSubscriptions<T>(params: DescribeUsageReportSubscriptionsInput): Promise<T>;
    describeUsers<T>(params: DescribeUsersInput): Promise<T>;
    describeUserStackAssociations<T>(params: DescribeUserStackAssociationsInput): Promise<T>;
    disableUser<T>(params: DisableUserInput): Promise<T>;
    disassociateAppBlockBuilderAppBlock<T>(params: DisassociateAppBlockBuilderAppBlockInput): Promise<T>;
    disassociateApplicationFleet<T>(params: DisassociateApplicationFleetInput): Promise<T>;
    disassociateApplicationFromEntitlement<T>(params: DisassociateApplicationFromEntitlementInput): Promise<T>;
    disassociateFleet<T>(params: DisassociateFleetInput): Promise<T>;
    disassociateSoftwareFromImageBuilder<T>(params: DisassociateSoftwareFromImageBuilderInput): Promise<T>;
    enableUser<T>(params: EnableUserInput): Promise<T>;
    expireSession<T>(params: ExpireSessionInput): Promise<T>;
    getExportImageTask<T>(params: GetExportImageTaskInput): Promise<T>;
    listAssociatedFleets<T>(params: ListAssociatedFleetsInput): Promise<T>;
    listAssociatedStacks<T>(params: ListAssociatedStacksInput): Promise<T>;
    listEntitledApplications<T>(params: ListEntitledApplicationsInput): Promise<T>;
    listExportImageTasks<T>(params: ListExportImageTasksInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    startAppBlockBuilder<T>(params: StartAppBlockBuilderInput): Promise<T>;
    startFleet<T>(params: StartFleetInput): Promise<T>;
    startImageBuilder<T>(params: StartImageBuilderInput): Promise<T>;
    startSoftwareDeploymentToImageBuilder<T>(params: StartSoftwareDeploymentToImageBuilderInput): Promise<T>;
    stopAppBlockBuilder<T>(params: StopAppBlockBuilderInput): Promise<T>;
    stopFleet<T>(params: StopFleetInput): Promise<T>;
    stopImageBuilder<T>(params: StopImageBuilderInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAppBlockBuilder<T>(params: UpdateAppBlockBuilderInput): Promise<T>;
    updateApplication<T>(params: UpdateApplicationInput): Promise<T>;
    updateDirectoryConfig<T>(params: UpdateDirectoryConfigInput): Promise<T>;
    updateEntitlement<T>(params: UpdateEntitlementInput): Promise<T>;
    updateFleet<T>(params: UpdateFleetInput): Promise<T>;
    updateImagePermissions<T>(params: UpdateImagePermissionsInput): Promise<T>;
    updateStack<T>(params: UpdateStackInput): Promise<T>;
    updateThemeForStack<T>(params: UpdateThemeForStackInput): Promise<T>;
}
//# sourceMappingURL=AppStream.d.ts.map