import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Definition of AWS::WorkSpacesWeb::UserSettings Resource Type
 */
export declare class UserSettings extends pulumi.CustomResource {
    /**
     * Get an existing UserSettings resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): UserSettings;
    /**
     * Returns true if the given object is an instance of UserSettings.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is UserSettings;
    /**
     * The additional encryption context of the user settings.
     */
    readonly additionalEncryptionContext: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * A list of web portal ARNs that this user settings resource is associated with.
     */
    readonly associatedPortalArns: pulumi.Output<string[]>;
    /**
     * The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.
     */
    readonly cookieSynchronizationConfiguration: pulumi.Output<outputs.workspacesweb.UserSettingsCookieSynchronizationConfiguration | undefined>;
    /**
     * Specifies whether the user can copy text from the streaming session to the local device.
     */
    readonly copyAllowed: pulumi.Output<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * The customer managed key used to encrypt sensitive information in the user settings.
     */
    readonly customerManagedKey: pulumi.Output<string | undefined>;
    /**
     * Specifies whether the user can use deep links that open automatically when connecting to a session.
     */
    readonly deepLinkAllowed: pulumi.Output<enums.workspacesweb.UserSettingsEnabledType | undefined>;
    /**
     * The amount of time that a streaming session remains active after users disconnect.
     */
    readonly disconnectTimeoutInMinutes: pulumi.Output<number | undefined>;
    /**
     * Specifies whether the user can download files from the streaming session to the local device.
     */
    readonly downloadAllowed: pulumi.Output<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.
     */
    readonly idleDisconnectTimeoutInMinutes: pulumi.Output<number | undefined>;
    /**
     * Specifies whether the user can paste text from the local device to the streaming session.
     */
    readonly pasteAllowed: pulumi.Output<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * Specifies whether the user can print to the local device.
     */
    readonly printAllowed: pulumi.Output<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * The tags to add to the user settings resource. A tag is a key-value pair.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * 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 during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.
     */
    readonly toolbarConfiguration: pulumi.Output<outputs.workspacesweb.UserSettingsToolbarConfiguration | undefined>;
    /**
     * Specifies whether the user can upload files from the local device to the streaming session.
     */
    readonly uploadAllowed: pulumi.Output<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * The ARN of the user settings.
     */
    readonly userSettingsArn: pulumi.Output<string>;
    /**
     * Create a UserSettings resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: UserSettingsArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a UserSettings resource.
 */
export interface UserSettingsArgs {
    /**
     * The additional encryption context of the user settings.
     */
    additionalEncryptionContext?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.
     */
    cookieSynchronizationConfiguration?: pulumi.Input<inputs.workspacesweb.UserSettingsCookieSynchronizationConfigurationArgs>;
    /**
     * Specifies whether the user can copy text from the streaming session to the local device.
     */
    copyAllowed: pulumi.Input<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * The customer managed key used to encrypt sensitive information in the user settings.
     */
    customerManagedKey?: pulumi.Input<string>;
    /**
     * Specifies whether the user can use deep links that open automatically when connecting to a session.
     */
    deepLinkAllowed?: pulumi.Input<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * The amount of time that a streaming session remains active after users disconnect.
     */
    disconnectTimeoutInMinutes?: pulumi.Input<number>;
    /**
     * Specifies whether the user can download files from the streaming session to the local device.
     */
    downloadAllowed: pulumi.Input<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * 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?: pulumi.Input<number>;
    /**
     * Specifies whether the user can paste text from the local device to the streaming session.
     */
    pasteAllowed: pulumi.Input<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * Specifies whether the user can print to the local device.
     */
    printAllowed: pulumi.Input<enums.workspacesweb.UserSettingsEnabledType>;
    /**
     * The tags to add to the user settings resource. A tag is a key-value pair.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * 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 during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.
     */
    toolbarConfiguration?: pulumi.Input<inputs.workspacesweb.UserSettingsToolbarConfigurationArgs>;
    /**
     * Specifies whether the user can upload files from the local device to the streaming session.
     */
    uploadAllowed: pulumi.Input<enums.workspacesweb.UserSettingsEnabledType>;
}
