import * as core from "@terrascript/core";
export interface RetentionPolicyArgs extends core.SchemaArgs {
    homeEfsFileSystem?: string | core.StringOut;
}
export declare class RetentionPolicy extends core.Schema<RetentionPolicyArgs> {
    homeEfsFileSystem?: string | core.StringOut;
}
export interface DefaultResourceSpecArgs extends core.SchemaArgs {
    instanceType?: string | core.StringOut;
    lifecycleConfigArn?: string | core.StringOut;
    sagemakerImageArn?: string | core.StringOut;
    sagemakerImageVersionArn?: string | core.StringOut;
}
export declare class DefaultResourceSpec extends core.Schema<DefaultResourceSpecArgs> {
    instanceType?: string | core.StringOut;
    lifecycleConfigArn?: string | core.StringOut;
    sagemakerImageArn?: string | core.StringOut;
    sagemakerImageVersionArn?: string | core.StringOut;
}
export interface TensorBoardAppSettingsArgs extends core.SchemaArgs {
    defaultResourceSpec?: DefaultResourceSpec;
}
export declare class TensorBoardAppSettings extends core.Schema<TensorBoardAppSettingsArgs> {
    defaultResourceSpec?: DefaultResourceSpec;
}
export interface JupyterServerAppSettingsArgs extends core.SchemaArgs {
    defaultResourceSpec?: DefaultResourceSpec;
    lifecycleConfigArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class JupyterServerAppSettings extends core.Schema<JupyterServerAppSettingsArgs> {
    defaultResourceSpec?: DefaultResourceSpec;
    lifecycleConfigArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface CustomImageArgs extends core.SchemaArgs {
    appImageConfigName: string | core.StringOut;
    imageName: string | core.StringOut;
    imageVersionNumber?: number | core.NumberOut;
}
export declare class CustomImage extends core.Schema<CustomImageArgs> {
    appImageConfigName: string | core.StringOut;
    imageName: string | core.StringOut;
    imageVersionNumber?: number | core.NumberOut;
}
export interface KernelGatewayAppSettingsArgs extends core.SchemaArgs {
    customImage?: core.Array<CustomImage> | core.ArrayOut<CustomImage>;
    defaultResourceSpec?: DefaultResourceSpec;
    lifecycleConfigArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class KernelGatewayAppSettings extends core.Schema<KernelGatewayAppSettingsArgs> {
    customImage?: core.Array<CustomImage> | core.ArrayOut<CustomImage>;
    defaultResourceSpec?: DefaultResourceSpec;
    lifecycleConfigArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface SharingSettingsArgs extends core.SchemaArgs {
    notebookOutputOption?: string | core.StringOut;
    s3KmsKeyId?: string | core.StringOut;
    s3OutputPath?: string | core.StringOut;
}
export declare class SharingSettings extends core.Schema<SharingSettingsArgs> {
    notebookOutputOption?: string | core.StringOut;
    s3KmsKeyId?: string | core.StringOut;
    s3OutputPath?: string | core.StringOut;
}
export interface DefaultUserSettingsArgs extends core.SchemaArgs {
    executionRole: string | core.StringOut;
    jupyterServerAppSettings?: JupyterServerAppSettings;
    kernelGatewayAppSettings?: KernelGatewayAppSettings;
    securityGroups?: core.Array<string> | core.ArrayOut<core.StringOut>;
    sharingSettings?: SharingSettings;
    tensorBoardAppSettings?: TensorBoardAppSettings;
}
export declare class DefaultUserSettings extends core.Schema<DefaultUserSettingsArgs> {
    executionRole: string | core.StringOut;
    jupyterServerAppSettings?: JupyterServerAppSettings;
    kernelGatewayAppSettings?: KernelGatewayAppSettings;
    securityGroups?: core.Array<string> | core.ArrayOut<core.StringOut>;
    sharingSettings?: SharingSettings;
    tensorBoardAppSettings?: TensorBoardAppSettings;
}
export interface DomainArgs extends core.ResourceArgs {
    appNetworkAccessType?: string | core.StringOut;
    authMode: string | core.StringOut;
    defaultUserSettings: DefaultUserSettings;
    domainName: string | core.StringOut;
    kmsKeyId?: string | core.StringOut;
    retentionPolicy?: RetentionPolicy;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export declare class Domain extends core.Resource<DomainArgs> {
    appNetworkAccessType?: string | core.StringOut;
    arn: string | core.StringOut;
    authMode: string | core.StringOut;
    defaultUserSettings: DefaultUserSettings;
    domainName: string | core.StringOut;
    homeEfsFileSystemId: string | core.StringOut;
    id: string | core.StringOut;
    kmsKeyId?: string | core.StringOut;
    retentionPolicy?: RetentionPolicy;
    singleSignOnManagedApplicationInstanceId: string | core.StringOut;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    url: string | core.StringOut;
    vpcId: string | core.StringOut;
    constructor(name: string, args?: DomainArgs);
    getNamespace(): string;
}
//# sourceMappingURL=domain.d.ts.map