export interface Tag {
    /** The key of the tag. */
    Key: string;
    /** The value of the tag */
    Value: string;
}
export interface WebContentFilteringPolicy {
    /** Categories of websites that are blocked on the end user’s browsers. */
    blockedCategories?: 'Cults' | 'Gambling' | 'Nudity' | 'Pornography' | 'SexEducation' | 'Tasteless' | 'Violence' | 'DownloadSites' | 'ImageSharing' | 'PeerToPeer' | 'StreamingMediaAndDownloads' | 'GenerativeAI' | 'CriminalActivity' | 'Hacking' | 'HateAndIntolerance' | 'IllegalDrug' | 'IllegalSoftware' | 'SchoolCheating' | 'SelfHarm' | 'Weapons' | 'Chat' | 'Games' | 'InstantMessaging' | 'ProfessionalNetwork' | 'SocialNetworking' | 'WebBasedEmail' | 'ParkedDomains'[];
    /** URLs and domains that are always accessible to end users. */
    allowedUrls?: string[];
    /** URLs and domains that end users cannot access. */
    blockedUrls?: string[];
}
export interface InlineRedactionConfiguration {
    /** The inline redaction patterns to be enabled for the inline redaction configuration. */
    inlineRedactionPatterns: any[];
    /** The global enforced URL configuration for the inline redaction configuration. This is applied to patterns that do not have a pattern-level enforced URL list. */
    globalEnforcedUrls?: string[];
    /** The global exempt URL configuration for the inline redaction configuration. This is applied to patterns that do not have a pattern-level exempt URL list. */
    globalExemptUrls?: string[];
    /** The global confidence level for the inline redaction configuration. This indicates the certainty of data type matches in the redaction process. Confidence level 3 means high confidence, and requires a */
    globalConfidenceLevel?: number;
}
export interface IpRule {
    /** The IP range of the IP rule. */
    ipRange: string;
    /** The description of the IP rule. */
    description?: string;
}
export interface S3LogConfiguration {
    /** The S3 bucket name where logs are delivered. */
    bucket: string;
    /** The S3 path prefix that determines where log files are stored. */
    keyPrefix?: string;
    /** The expected bucket owner of the target S3 bucket. The caller must have permissions to write to the target bucket. */
    bucketOwner?: string;
    /** The format of the LogFile that is written to S3. */
    logFileFormat: 'JSONLines' | 'Json';
    /** The folder structure that defines the organizational structure for log files in S3. */
    folderStructure: 'Flat' | 'NestedByDate';
}
export interface LogConfiguration {
    /** The configuration for delivering the logs to S3. */
    s3?: S3LogConfiguration;
}
export interface CookieSynchronizationConfiguration {
    /** The list of cookie specifications that are allowed to be synchronized to the remote browser. */
    allowlist: any[];
    /** The list of cookie specifications that are blocked from being synchronized to the remote browser. */
    blocklist?: any[];
}
export interface ToolbarConfiguration {
    /** The type of toolbar displayed during the session. */
    toolbarType?: 'Floating' | 'Docked';
    /** The visual mode of the toolbar. */
    visualMode?: 'Dark' | 'Light';
    /** The list of toolbar items to be hidden. */
    hiddenToolbarItems?: 'Windows' | 'DualMonitor' | 'FullScreen' | 'Webcam' | 'Microphone'[];
    /** The maximum display resolution that is allowed for the session. */
    maxDisplayResolution?: 'size4096X2160' | 'size3840X2160' | 'size3440X1440' | 'size2560X1440' | 'size1920X1080' | 'size1280X720' | 'size1024X768' | 'size800X600';
}
export interface BrandingConfigurationCreateInput {
    /** The logo image for the portal. Provide either a binary image file or an S3 URI pointing to the image file. Maximum 100 KB in JPEG, PNG, or ICO format. */
    logo: {
        blob?: string;
    } | {
        s3Uri?: string;
    };
    /** The wallpaper image for the portal. Provide either a binary image file or an S3 URI pointing to the image file. Maximum 5 MB in JPEG or PNG format. If not provided, a default wallpaper will be used as */
    wallpaper?: {
        blob?: string;
    } | {
        s3Uri?: string;
    };
    /** The favicon image for the portal. Provide either a binary image file or an S3 URI pointing to the image file. Maximum 100 KB in JPEG, PNG, or ICO format. */
    favicon: {
        blob?: string;
    } | {
        s3Uri?: string;
    };
    /** A map of localized text strings for different supported languages. Each locale must provide the required fields browserTabTitle and welcomeText. */
    localizedStrings: Record<string, any>;
    /** The color theme for components on the web portal. Choose Light if you upload a dark wallpaper, or Dark for a light wallpaper. */
    colorTheme: 'Light' | 'Dark';
    /** The terms of service text in Markdown format. Users will be presented with the terms of service after successfully signing in. */
    termsOfService?: string;
}
export interface BrandingConfigurationUpdateInput {
    /** The logo image for the portal. Provide either a binary image file or an S3 URI pointing to the image file. Maximum 100 KB in JPEG, PNG, or ICO format. */
    logo?: {
        blob?: string;
    } | {
        s3Uri?: string;
    };
    /** The wallpaper image for the portal. Provide either a binary image file or an S3 URI pointing to the image file. Maximum 5 MB in JPEG or PNG format. */
    wallpaper?: {
        blob?: string;
    } | {
        s3Uri?: string;
    };
    /** The favicon image for the portal. Provide either a binary image file or an S3 URI pointing to the image file. Maximum 100 KB in JPEG, PNG, or ICO format. */
    favicon?: {
        blob?: string;
    } | {
        s3Uri?: string;
    };
    /** A map of localized text strings for different supported languages. Each locale must provide the required fields browserTabTitle and welcomeText. */
    localizedStrings?: Record<string, any>;
    /** The color theme for components on the web portal. Choose Light if you upload a dark wallpaper, or Dark for a light wallpaper. */
    colorTheme?: 'Light' | 'Dark';
    /** The terms of service text in Markdown format. To remove existing terms of service, provide an empty string. */
    termsOfService?: string;
}
export interface AssociateBrowserSettingsInput {
    /** The ARN of the browser settings. */
    browserSettingsArn: string;
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface AssociateDataProtectionSettingsInput {
    /** The ARN of the data protection settings. */
    dataProtectionSettingsArn: string;
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface AssociateIpAccessSettingsInput {
    /** The ARN of the IP access settings. */
    ipAccessSettingsArn: string;
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface AssociateNetworkSettingsInput {
    /** The ARN of the network settings. */
    networkSettingsArn: string;
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface AssociateSessionLoggerInput {
    /** The ARN of the portal to associate to the session logger ARN. */
    portalArn: string;
    /** The ARN of the session logger to associate to the portal ARN. */
    sessionLoggerArn: string;
}
export interface AssociateTrustStoreInput {
    /** The ARN of the web portal. */
    portalArn: string;
    /** The ARN of the trust store. */
    trustStoreArn: string;
}
export interface AssociateUserAccessLoggingSettingsInput {
    /** The ARN of the web portal. */
    portalArn: string;
    /** The ARN of the user access logging settings. */
    userAccessLoggingSettingsArn: string;
}
export interface AssociateUserSettingsInput {
    /** The ARN of the web portal. */
    portalArn: string;
    /** The ARN of the user settings. */
    userSettingsArn: string;
}
export interface CreateBrowserSettingsInput {
    /** Additional encryption context of the browser settings. */
    additionalEncryptionContext?: Record<string, string>;
    /** A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions. */
    browserPolicy?: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The custom managed key of the browser settings. */
    customerManagedKey?: string;
    /** The tags to add to the browser settings resource. A tag is a key-value pair. */
    tags?: Tag[];
    /** The policy that specifies which URLs end users are allowed to access or which URLs or domain categories they are restricted from accessing for enhanced security. */
    webContentFilteringPolicy?: WebContentFilteringPolicy;
}
export interface CreateDataProtectionSettingsInput {
    /** Additional encryption context of the data protection settings. */
    additionalEncryptionContext?: Record<string, string>;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The custom managed key of the data protection settings. */
    customerManagedKey?: string;
    /** The description of the data protection settings. */
    description?: string;
    /** The display name of the data protection settings. */
    displayName?: string;
    /** The inline redaction configuration of the data protection settings that will be applied to all sessions. */
    inlineRedactionConfiguration?: InlineRedactionConfiguration;
    /** The tags to add to the data protection settings resource. A tag is a key-value pair. */
    tags?: Tag[];
}
export interface CreateIdentityProviderInput {
    /** The identity provider details. The following list describes the provider detail keys for each identity provider type. For Google and Login with Amazon: client_id client_secret authorize_scopes For Fac */
    identityProviderDetails: Record<string, string>;
    /** The identity provider name. */
    identityProviderName: string;
    /** The identity provider type. */
    identityProviderType: 'SAML' | 'Facebook' | 'Google' | 'LoginWithAmazon' | 'SignInWithApple' | 'OIDC';
    /** The ARN of the web portal. */
    portalArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The tags to add to the identity provider resource. A tag is a key-value pair. */
    tags?: Tag[];
}
export interface CreateIpAccessSettingsInput {
    /** The IP rules of the IP access settings. */
    ipRules: IpRule[];
    /** Additional encryption context of the IP access settings. */
    additionalEncryptionContext?: Record<string, string>;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The custom managed key of the IP access settings. */
    customerManagedKey?: string;
    /** The description of the IP access settings. */
    description?: string;
    /** The display name of the IP access settings. */
    displayName?: string;
    /** The tags to add to the IP access settings resource. A tag is a key-value pair. */
    tags?: Tag[];
}
export interface CreateNetworkSettingsInput {
    /** One or more security groups used to control access from streaming instances to your VPC. */
    securityGroupIds: string[];
    /** The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones. */
    subnetIds: string[];
    /** The VPC that streaming instances will connect to. */
    vpcId: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The tags to add to the network settings resource. A tag is a key-value pair. */
    tags?: Tag[];
}
export interface CreatePortalInput {
    /** The additional encryption context of the portal. */
    additionalEncryptionContext?: Record<string, string>;
    /** The type of authentication integration points used when signing into the web portal. Defaults to Standard. Standard web portals are authenticated directly through your identity provider. You need to c */
    authenticationType?: 'Standard' | 'IAM_Identity_Center';
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The customer managed key of the web portal. */
    customerManagedKey?: string;
    /** The name of the web portal. This is not visible to users who log into the web portal. */
    displayName?: string;
    /** The type and resources of the underlying instance. */
    instanceType?: 'standard.regular' | 'standard.large' | 'standard.xlarge';
    /** The maximum number of concurrent sessions for the portal. */
    maxConcurrentSessions?: number;
    /** The custom domain of the web portal that users access in order to start streaming sessions. */
    portalCustomDomain?: string;
    /** The tags to add to the web portal. A tag is a key-value pair. */
    tags?: Tag[];
}
export interface CreateSessionLoggerInput {
    /** The filter that specifies the events to monitor. */
    eventFilter: {
        all?: void;
    } | {
        include?: 'WebsiteInteract' | 'FileDownloadFromSecureBrowserToRemoteDisk' | 'FileTransferFromRemoteToLocalDisk' | 'FileTransferFromLocalToRemoteDisk' | 'FileUploadFromRemoteDiskToSecureBrowser' | 'ContentPasteToWebsite' | 'ContentTransferFromLocalToRemoteClipboard' | 'ContentCopyFromWebsite' | 'UrlLoad' | 'TabOpen' | 'TabClose' | 'PrintJobSubmit' | 'SessionConnect' | 'SessionStart' | 'SessionDisconnect' | 'SessionEnd' | 'UrlBlockByContentFilter'[];
    };
    /** The configuration that specifies where logs are delivered. */
    logConfiguration: LogConfiguration;
    /** The additional encryption context of the session logger. */
    additionalEncryptionContext?: Record<string, string>;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The custom managed key of the session logger. */
    customerManagedKey?: string;
    /** The human-readable display name for the session logger resource. */
    displayName?: string;
    /** The tags to add to the session logger. */
    tags?: Tag[];
}
export interface CreateTrustStoreInput {
    /** A list of CA certificates to be added to the trust store. */
    certificateList: string[];
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The tags to add to the trust store. A tag is a key-value pair. */
    tags?: Tag[];
}
export interface CreateUserAccessLoggingSettingsInput {
    /** The ARN of the Kinesis stream. */
    kinesisStreamArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The tags to add to the user settings resource. A tag is a key-value pair. */
    tags?: Tag[];
}
export interface CreateUserSettingsInput {
    /** Specifies whether the user can copy text from the streaming session to the local device. */
    copyAllowed: 'Disabled' | 'Enabled';
    /** Specifies whether the user can download files from the streaming session to the local device. */
    downloadAllowed: 'Disabled' | 'Enabled';
    /** Specifies whether the user can paste text from the local device to the streaming session. */
    pasteAllowed: 'Disabled' | 'Enabled';
    /** Specifies whether the user can print to the local device. */
    printAllowed: 'Disabled' | 'Enabled';
    /** Specifies whether the user can upload files from the local device to the streaming session. */
    uploadAllowed: 'Disabled' | 'Enabled';
    /** The additional encryption context of the user settings. */
    additionalEncryptionContext?: Record<string, string>;
    /** The branding configuration input that customizes the appearance of the web portal for end users. This includes a custom logo, favicon, localized strings, color theme, and optionally a wallpaper and te */
    brandingConfigurationInput?: BrandingConfigurationCreateInput;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser. */
    cookieSynchronizationConfiguration?: CookieSynchronizationConfiguration;
    /** The customer managed key used to encrypt sensitive information in the user settings. */
    customerManagedKey?: string;
    /** Specifies whether the user can use deep links that open automatically when connecting to a session. */
    deepLinkAllowed?: 'Disabled' | 'Enabled';
    /** The amount of time that a streaming session remains active after users disconnect. */
    disconnectTimeoutInMinutes?: number;
    /** The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins. */
    idleDisconnectTimeoutInMinutes?: number;
    /** The tags to add to the user settings resource. A tag is a key-value pair. */
    tags?: Tag[];
    /** The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users du */
    toolbarConfiguration?: ToolbarConfiguration;
    /** Specifies whether the user can use WebAuthn redirection for passwordless login to websites within the streaming session. */
    webAuthnAllowed?: 'Disabled' | 'Enabled';
}
export interface DeleteBrowserSettingsInput {
    /** The ARN of the browser settings. */
    browserSettingsArn: string;
}
export interface DeleteDataProtectionSettingsInput {
    /** The ARN of the data protection settings. */
    dataProtectionSettingsArn: string;
}
export interface DeleteIdentityProviderInput {
    /** The ARN of the identity provider. */
    identityProviderArn: string;
}
export interface DeleteIpAccessSettingsInput {
    /** The ARN of the IP access settings. */
    ipAccessSettingsArn: string;
}
export interface DeleteNetworkSettingsInput {
    /** The ARN of the network settings. */
    networkSettingsArn: string;
}
export interface DeletePortalInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface DeleteSessionLoggerInput {
    /** The ARN of the session logger. */
    sessionLoggerArn: string;
}
export interface DeleteTrustStoreInput {
    /** The ARN of the trust store. */
    trustStoreArn: string;
}
export interface DeleteUserAccessLoggingSettingsInput {
    /** The ARN of the user access logging settings. */
    userAccessLoggingSettingsArn: string;
}
export interface DeleteUserSettingsInput {
    /** The ARN of the user settings. */
    userSettingsArn: string;
}
export interface DisassociateBrowserSettingsInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface DisassociateDataProtectionSettingsInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface DisassociateIpAccessSettingsInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface DisassociateNetworkSettingsInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface DisassociateSessionLoggerInput {
    /** The ARN of the portal to disassociate from the a session logger. */
    portalArn: string;
}
export interface DisassociateTrustStoreInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface DisassociateUserAccessLoggingSettingsInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface DisassociateUserSettingsInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface ExpireSessionInput {
    /** The ID of the web portal for the session. */
    portalId: string;
    /** The ID of the session to expire. */
    sessionId: string;
}
export interface GetBrowserSettingsInput {
    /** The ARN of the browser settings. */
    browserSettingsArn: string;
}
export interface GetDataProtectionSettingsInput {
    /** The ARN of the data protection settings. */
    dataProtectionSettingsArn: string;
}
export interface GetIdentityProviderInput {
    /** The ARN of the identity provider. */
    identityProviderArn: string;
}
export interface GetIpAccessSettingsInput {
    /** The ARN of the IP access settings. */
    ipAccessSettingsArn: string;
}
export interface GetNetworkSettingsInput {
    /** The ARN of the network settings. */
    networkSettingsArn: string;
}
export interface GetPortalInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface GetPortalServiceProviderMetadataInput {
    /** The ARN of the web portal. */
    portalArn: string;
}
export interface GetSessionInput {
    /** The ID of the web portal for the session. */
    portalId: string;
    /** The ID of the session. */
    sessionId: string;
}
export interface GetSessionLoggerInput {
    /** The ARN of the session logger. */
    sessionLoggerArn: string;
}
export interface GetTrustStoreInput {
    /** The ARN of the trust store. */
    trustStoreArn: string;
}
export interface GetTrustStoreCertificateInput {
    /** The thumbprint of the trust store certificate. */
    thumbprint: string;
    /** The ARN of the trust store certificate. */
    trustStoreArn: string;
}
export interface GetUserAccessLoggingSettingsInput {
    /** The ARN of the user access logging settings. */
    userAccessLoggingSettingsArn: string;
}
export interface GetUserSettingsInput {
    /** The ARN of the user settings. */
    userSettingsArn: string;
}
export interface ListBrowserSettingsInput {
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListDataProtectionSettingsInput {
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListIdentityProvidersInput {
    /** The ARN of the web portal. */
    portalArn: string;
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListIpAccessSettingsInput {
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListNetworkSettingsInput {
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListPortalsInput {
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListSessionLoggersInput {
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListSessionsInput {
    /** The ID of the web portal for the sessions. */
    portalId: string;
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
    /** The ID of the session. */
    sessionId?: string;
    /** The method in which the returned sessions should be sorted. */
    sortBy?: 'StartTimeAscending' | 'StartTimeDescending';
    /** The status of the session. */
    status?: 'Active' | 'Terminated';
    /** The username of the session. */
    username?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource. */
    resourceArn: string;
}
export interface ListTrustStoreCertificatesInput {
    /** The ARN of the trust store */
    trustStoreArn: string;
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListTrustStoresInput {
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListUserAccessLoggingSettingsInput {
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface ListUserSettingsInput {
    /** The maximum number of results to be included in the next page. */
    maxResults?: number;
    /** The pagination token used to retrieve the next page of results for this operation. */
    nextToken?: string;
}
export interface TagResourceInput {
    /** The ARN of the resource. */
    resourceArn: string;
    /** The tags of the resource. */
    tags: Tag[];
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
}
export interface UntagResourceInput {
    /** The ARN of the resource. */
    resourceArn: string;
    /** The list of tag keys to remove from the resource. */
    tagKeys: string[];
}
export interface UpdateBrowserSettingsInput {
    /** The ARN of the browser settings. */
    browserSettingsArn: string;
    /** A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions. */
    browserPolicy?: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The policy that specifies which URLs end users are allowed to access or which URLs or domain categories they are restricted from accessing for enhanced security. */
    webContentFilteringPolicy?: WebContentFilteringPolicy;
}
export interface UpdateDataProtectionSettingsInput {
    /** The ARN of the data protection settings. */
    dataProtectionSettingsArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The description of the data protection settings. */
    description?: string;
    /** The display name of the data protection settings. */
    displayName?: string;
    /** The inline redaction configuration of the data protection settings that will be applied to all sessions. */
    inlineRedactionConfiguration?: InlineRedactionConfiguration;
}
export interface UpdateIdentityProviderInput {
    /** The ARN of the identity provider. */
    identityProviderArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The details of the identity provider. The following list describes the provider detail keys for each identity provider type. For Google and Login with Amazon: client_id client_secret authorize_scopes  */
    identityProviderDetails?: Record<string, string>;
    /** The name of the identity provider. */
    identityProviderName?: string;
    /** The type of the identity provider. */
    identityProviderType?: 'SAML' | 'Facebook' | 'Google' | 'LoginWithAmazon' | 'SignInWithApple' | 'OIDC';
}
export interface UpdateIpAccessSettingsInput {
    /** The ARN of the IP access settings. */
    ipAccessSettingsArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The description of the IP access settings. */
    description?: string;
    /** The display name of the IP access settings. */
    displayName?: string;
    /** The updated IP rules of the IP access settings. */
    ipRules?: IpRule[];
}
export interface UpdateNetworkSettingsInput {
    /** The ARN of the network settings. */
    networkSettingsArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** One or more security groups used to control access from streaming instances to your VPC. */
    securityGroupIds?: string[];
    /** The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones. */
    subnetIds?: string[];
    /** The VPC that streaming instances will connect to. */
    vpcId?: string;
}
export interface UpdatePortalInput {
    /** The ARN of the web portal. */
    portalArn: string;
    /** The type of authentication integration points used when signing into the web portal. Defaults to Standard. Standard web portals are authenticated directly through your identity provider. You need to c */
    authenticationType?: 'Standard' | 'IAM_Identity_Center';
    /** The name of the web portal. This is not visible to users who log into the web portal. */
    displayName?: string;
    /** The type and resources of the underlying instance. */
    instanceType?: 'standard.regular' | 'standard.large' | 'standard.xlarge';
    /** The maximum number of concurrent sessions for the portal. */
    maxConcurrentSessions?: number;
    /** The custom domain of the web portal that users access in order to start streaming sessions. */
    portalCustomDomain?: string;
}
export interface UpdateSessionLoggerInput {
    /** The ARN of the session logger to update. */
    sessionLoggerArn: string;
    /** The updated display name. */
    displayName?: string;
    /** The updated eventFilter. */
    eventFilter?: {
        all?: void;
    } | {
        include?: 'WebsiteInteract' | 'FileDownloadFromSecureBrowserToRemoteDisk' | 'FileTransferFromRemoteToLocalDisk' | 'FileTransferFromLocalToRemoteDisk' | 'FileUploadFromRemoteDiskToSecureBrowser' | 'ContentPasteToWebsite' | 'ContentTransferFromLocalToRemoteClipboard' | 'ContentCopyFromWebsite' | 'UrlLoad' | 'TabOpen' | 'TabClose' | 'PrintJobSubmit' | 'SessionConnect' | 'SessionStart' | 'SessionDisconnect' | 'SessionEnd' | 'UrlBlockByContentFilter'[];
    };
    /** The updated logConfiguration. */
    logConfiguration?: LogConfiguration;
}
export interface UpdateTrustStoreInput {
    /** The ARN of the trust store. */
    trustStoreArn: string;
    /** A list of CA certificates to add to the trust store. */
    certificatesToAdd?: string[];
    /** A list of CA certificates to delete from a trust store. */
    certificatesToDelete?: string[];
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
}
export interface UpdateUserAccessLoggingSettingsInput {
    /** The ARN of the user access logging settings. */
    userAccessLoggingSettingsArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The ARN of the Kinesis stream. */
    kinesisStreamArn?: string;
}
export interface UpdateUserSettingsInput {
    /** The ARN of the user settings. */
    userSettingsArn: string;
    /** The branding configuration that customizes the appearance of the web portal for end users. When updating user settings without an existing branding configuration, all fields (logo, favicon, localized  */
    brandingConfigurationInput?: BrandingConfigurationUpdateInput;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original  */
    clientToken?: string;
    /** The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser. If the allowlist and blocklist are empty, the configuration becomes null. */
    cookieSynchronizationConfiguration?: CookieSynchronizationConfiguration;
    /** Specifies whether the user can copy text from the streaming session to the local device. */
    copyAllowed?: 'Disabled' | 'Enabled';
    /** Specifies whether the user can use deep links that open automatically when connecting to a session. */
    deepLinkAllowed?: 'Disabled' | 'Enabled';
    /** The amount of time that a streaming session remains active after users disconnect. */
    disconnectTimeoutInMinutes?: number;
    /** Specifies whether the user can download files from the streaming session to the local device. */
    downloadAllowed?: 'Disabled' | 'Enabled';
    /** The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins. */
    idleDisconnectTimeoutInMinutes?: number;
    /** Specifies whether the user can paste text from the local device to the streaming session. */
    pasteAllowed?: 'Disabled' | 'Enabled';
    /** Specifies whether the user can print to the local device. */
    printAllowed?: 'Disabled' | 'Enabled';
    /** The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users du */
    toolbarConfiguration?: ToolbarConfiguration;
    /** Specifies whether the user can upload files from the local device to the streaming session. */
    uploadAllowed?: 'Disabled' | 'Enabled';
    /** Specifies whether the user can use WebAuthn redirection for passwordless login to websites within the streaming session. */
    webAuthnAllowed?: 'Disabled' | 'Enabled';
}
/** WorkSpaces Web service binding for Step Functions SDK integrations. */
export declare class WorkSpacesWeb {
    constructor();
    associateBrowserSettings<T>(params: AssociateBrowserSettingsInput): Promise<T>;
    associateDataProtectionSettings<T>(params: AssociateDataProtectionSettingsInput): Promise<T>;
    associateIpAccessSettings<T>(params: AssociateIpAccessSettingsInput): Promise<T>;
    associateNetworkSettings<T>(params: AssociateNetworkSettingsInput): Promise<T>;
    associateSessionLogger<T>(params: AssociateSessionLoggerInput): Promise<T>;
    associateTrustStore<T>(params: AssociateTrustStoreInput): Promise<T>;
    associateUserAccessLoggingSettings<T>(params: AssociateUserAccessLoggingSettingsInput): Promise<T>;
    associateUserSettings<T>(params: AssociateUserSettingsInput): Promise<T>;
    createBrowserSettings<T>(params: CreateBrowserSettingsInput): Promise<T>;
    createDataProtectionSettings<T>(params: CreateDataProtectionSettingsInput): Promise<T>;
    createIdentityProvider<T>(params: CreateIdentityProviderInput): Promise<T>;
    createIpAccessSettings<T>(params: CreateIpAccessSettingsInput): Promise<T>;
    createNetworkSettings<T>(params: CreateNetworkSettingsInput): Promise<T>;
    createPortal<T>(params: CreatePortalInput): Promise<T>;
    createSessionLogger<T>(params: CreateSessionLoggerInput): Promise<T>;
    createTrustStore<T>(params: CreateTrustStoreInput): Promise<T>;
    createUserAccessLoggingSettings<T>(params: CreateUserAccessLoggingSettingsInput): Promise<T>;
    createUserSettings<T>(params: CreateUserSettingsInput): Promise<T>;
    deleteBrowserSettings<T>(params: DeleteBrowserSettingsInput): Promise<T>;
    deleteDataProtectionSettings<T>(params: DeleteDataProtectionSettingsInput): Promise<T>;
    deleteIdentityProvider<T>(params: DeleteIdentityProviderInput): Promise<T>;
    deleteIpAccessSettings<T>(params: DeleteIpAccessSettingsInput): Promise<T>;
    deleteNetworkSettings<T>(params: DeleteNetworkSettingsInput): Promise<T>;
    deletePortal<T>(params: DeletePortalInput): Promise<T>;
    deleteSessionLogger<T>(params: DeleteSessionLoggerInput): Promise<T>;
    deleteTrustStore<T>(params: DeleteTrustStoreInput): Promise<T>;
    deleteUserAccessLoggingSettings<T>(params: DeleteUserAccessLoggingSettingsInput): Promise<T>;
    deleteUserSettings<T>(params: DeleteUserSettingsInput): Promise<T>;
    disassociateBrowserSettings<T>(params: DisassociateBrowserSettingsInput): Promise<T>;
    disassociateDataProtectionSettings<T>(params: DisassociateDataProtectionSettingsInput): Promise<T>;
    disassociateIpAccessSettings<T>(params: DisassociateIpAccessSettingsInput): Promise<T>;
    disassociateNetworkSettings<T>(params: DisassociateNetworkSettingsInput): Promise<T>;
    disassociateSessionLogger<T>(params: DisassociateSessionLoggerInput): Promise<T>;
    disassociateTrustStore<T>(params: DisassociateTrustStoreInput): Promise<T>;
    disassociateUserAccessLoggingSettings<T>(params: DisassociateUserAccessLoggingSettingsInput): Promise<T>;
    disassociateUserSettings<T>(params: DisassociateUserSettingsInput): Promise<T>;
    expireSession<T>(params: ExpireSessionInput): Promise<T>;
    getBrowserSettings<T>(params: GetBrowserSettingsInput): Promise<T>;
    getDataProtectionSettings<T>(params: GetDataProtectionSettingsInput): Promise<T>;
    getIdentityProvider<T>(params: GetIdentityProviderInput): Promise<T>;
    getIpAccessSettings<T>(params: GetIpAccessSettingsInput): Promise<T>;
    getNetworkSettings<T>(params: GetNetworkSettingsInput): Promise<T>;
    getPortal<T>(params: GetPortalInput): Promise<T>;
    getPortalServiceProviderMetadata<T>(params: GetPortalServiceProviderMetadataInput): Promise<T>;
    getSession<T>(params: GetSessionInput): Promise<T>;
    getSessionLogger<T>(params: GetSessionLoggerInput): Promise<T>;
    getTrustStore<T>(params: GetTrustStoreInput): Promise<T>;
    getTrustStoreCertificate<T>(params: GetTrustStoreCertificateInput): Promise<T>;
    getUserAccessLoggingSettings<T>(params: GetUserAccessLoggingSettingsInput): Promise<T>;
    getUserSettings<T>(params: GetUserSettingsInput): Promise<T>;
    listBrowserSettings<T>(params: ListBrowserSettingsInput): Promise<T>;
    listDataProtectionSettings<T>(params: ListDataProtectionSettingsInput): Promise<T>;
    listIdentityProviders<T>(params: ListIdentityProvidersInput): Promise<T>;
    listIpAccessSettings<T>(params: ListIpAccessSettingsInput): Promise<T>;
    listNetworkSettings<T>(params: ListNetworkSettingsInput): Promise<T>;
    listPortals<T>(params: ListPortalsInput): Promise<T>;
    listSessionLoggers<T>(params: ListSessionLoggersInput): Promise<T>;
    listSessions<T>(params: ListSessionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTrustStoreCertificates<T>(params: ListTrustStoreCertificatesInput): Promise<T>;
    listTrustStores<T>(params: ListTrustStoresInput): Promise<T>;
    listUserAccessLoggingSettings<T>(params: ListUserAccessLoggingSettingsInput): Promise<T>;
    listUserSettings<T>(params: ListUserSettingsInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateBrowserSettings<T>(params: UpdateBrowserSettingsInput): Promise<T>;
    updateDataProtectionSettings<T>(params: UpdateDataProtectionSettingsInput): Promise<T>;
    updateIdentityProvider<T>(params: UpdateIdentityProviderInput): Promise<T>;
    updateIpAccessSettings<T>(params: UpdateIpAccessSettingsInput): Promise<T>;
    updateNetworkSettings<T>(params: UpdateNetworkSettingsInput): Promise<T>;
    updatePortal<T>(params: UpdatePortalInput): Promise<T>;
    updateSessionLogger<T>(params: UpdateSessionLoggerInput): Promise<T>;
    updateTrustStore<T>(params: UpdateTrustStoreInput): Promise<T>;
    updateUserAccessLoggingSettings<T>(params: UpdateUserAccessLoggingSettingsInput): Promise<T>;
    updateUserSettings<T>(params: UpdateUserSettingsInput): Promise<T>;
}
//# sourceMappingURL=WorkSpacesWeb.d.ts.map