import * as core from "@terrascript/core";
export interface WorkspaceAccessPropertiesArgs extends core.SchemaArgs {
    deviceTypeAndroid: string | core.StringOut;
    deviceTypeChromeos: string | core.StringOut;
    deviceTypeIos: string | core.StringOut;
    deviceTypeLinux: string | core.StringOut;
    deviceTypeOsx: string | core.StringOut;
    deviceTypeWeb: string | core.StringOut;
    deviceTypeWindows: string | core.StringOut;
    deviceTypeZeroclient: string | core.StringOut;
}
export declare class WorkspaceAccessProperties extends core.Schema<WorkspaceAccessPropertiesArgs> {
    deviceTypeAndroid: string | core.StringOut;
    deviceTypeChromeos: string | core.StringOut;
    deviceTypeIos: string | core.StringOut;
    deviceTypeLinux: string | core.StringOut;
    deviceTypeOsx: string | core.StringOut;
    deviceTypeWeb: string | core.StringOut;
    deviceTypeWindows: string | core.StringOut;
    deviceTypeZeroclient: string | core.StringOut;
}
export interface WorkspaceCreationPropertiesArgs extends core.SchemaArgs {
    customSecurityGroupId: string | core.StringOut;
    defaultOu: string | core.StringOut;
    enableInternetAccess: boolean | core.BooleanOut;
    enableMaintenanceMode: boolean | core.BooleanOut;
    userEnabledAsLocalAdministrator: boolean | core.BooleanOut;
}
export declare class WorkspaceCreationProperties extends core.Schema<WorkspaceCreationPropertiesArgs> {
    customSecurityGroupId: string | core.StringOut;
    defaultOu: string | core.StringOut;
    enableInternetAccess: boolean | core.BooleanOut;
    enableMaintenanceMode: boolean | core.BooleanOut;
    userEnabledAsLocalAdministrator: boolean | core.BooleanOut;
}
export interface SelfServicePermissionsArgs extends core.SchemaArgs {
    changeComputeType: boolean | core.BooleanOut;
    increaseVolumeSize: boolean | core.BooleanOut;
    rebuildWorkspace: boolean | core.BooleanOut;
    restartWorkspace: boolean | core.BooleanOut;
    switchRunningMode: boolean | core.BooleanOut;
}
export declare class SelfServicePermissions extends core.Schema<SelfServicePermissionsArgs> {
    changeComputeType: boolean | core.BooleanOut;
    increaseVolumeSize: boolean | core.BooleanOut;
    rebuildWorkspace: boolean | core.BooleanOut;
    restartWorkspace: boolean | core.BooleanOut;
    switchRunningMode: boolean | core.BooleanOut;
}
export interface DsDirectoryArgs {
    directoryId: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsDirectory extends core.Data<DsDirectoryArgs> {
    alias: string | core.StringOut;
    customerUserName: string | core.StringOut;
    directoryId: string | core.StringOut;
    directoryName: string | core.StringOut;
    directoryType: string | core.StringOut;
    dnsIpAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    iamRoleId: string | core.StringOut;
    id: string | core.StringOut;
    ipGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    registrationCode: string | core.StringOut;
    selfServicePermissions: core.Array<SelfServicePermissions> | core.ArrayOut<SelfServicePermissions>;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    workspaceAccessProperties: core.Array<WorkspaceAccessProperties> | core.ArrayOut<WorkspaceAccessProperties>;
    workspaceCreationProperties: core.Array<WorkspaceCreationProperties> | core.ArrayOut<WorkspaceCreationProperties>;
    workspaceSecurityGroupId: string | core.StringOut;
    constructor(name: string, args?: DsDirectoryArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_directory.d.ts.map