import * as core from "@terrascript/core";
export interface DomainJoinInfoArgs extends core.SchemaArgs {
    directoryName?: string | core.StringOut;
    organizationalUnitDistinguishedName?: string | core.StringOut;
}
export declare class DomainJoinInfo extends core.Schema<DomainJoinInfoArgs> {
    directoryName?: string | core.StringOut;
    organizationalUnitDistinguishedName?: string | core.StringOut;
}
export interface VpcConfigArgs extends core.SchemaArgs {
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class VpcConfig extends core.Schema<VpcConfigArgs> {
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface ComputeCapacityArgs extends core.SchemaArgs {
    available: number | core.NumberOut;
    desiredInstances: number | core.NumberOut;
    inUse: number | core.NumberOut;
    running: number | core.NumberOut;
}
export declare class ComputeCapacity extends core.Schema<ComputeCapacityArgs> {
    available: number | core.NumberOut;
    desiredInstances: number | core.NumberOut;
    inUse: number | core.NumberOut;
    running: number | core.NumberOut;
}
export interface FleetArgs extends core.ResourceArgs {
    computeCapacity: ComputeCapacity;
    description?: string | core.StringOut;
    disconnectTimeoutInSeconds?: number | core.NumberOut;
    displayName?: string | core.StringOut;
    domainJoinInfo?: DomainJoinInfo;
    enableDefaultInternetAccess?: boolean | core.BooleanOut;
    fleetType?: string | core.StringOut;
    iamRoleArn?: string | core.StringOut;
    idleDisconnectTimeoutInSeconds?: number | core.NumberOut;
    imageArn?: string | core.StringOut;
    imageName?: string | core.StringOut;
    instanceType: string | core.StringOut;
    maxUserDurationInSeconds?: number | core.NumberOut;
    name: string | core.StringOut;
    streamView?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcConfig?: VpcConfig;
}
export declare class Fleet extends core.Resource<FleetArgs> {
    arn: string | core.StringOut;
    computeCapacity: ComputeCapacity;
    createdTime: string | core.StringOut;
    description?: string | core.StringOut;
    disconnectTimeoutInSeconds?: number | core.NumberOut;
    displayName?: string | core.StringOut;
    domainJoinInfo?: DomainJoinInfo;
    enableDefaultInternetAccess?: boolean | core.BooleanOut;
    fleetType?: string | core.StringOut;
    iamRoleArn?: string | core.StringOut;
    id: string | core.StringOut;
    idleDisconnectTimeoutInSeconds?: number | core.NumberOut;
    imageArn?: string | core.StringOut;
    imageName?: string | core.StringOut;
    instanceType: string | core.StringOut;
    maxUserDurationInSeconds?: number | core.NumberOut;
    name: string | core.StringOut;
    state: string | core.StringOut;
    streamView?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcConfig?: VpcConfig;
    constructor(name: string, args?: FleetArgs);
    getNamespace(): string;
}
//# sourceMappingURL=fleet.d.ts.map