import * as core from "@terrascript/core";
export interface LoadBalancerArgs extends core.SchemaArgs {
    containerName: string | core.StringOut;
    containerPort?: number | core.NumberOut;
    loadBalancerName?: string | core.StringOut;
    targetGroupArn?: string | core.StringOut;
}
export declare class LoadBalancer extends core.Schema<LoadBalancerArgs> {
    containerName: string | core.StringOut;
    containerPort?: number | core.NumberOut;
    loadBalancerName?: string | core.StringOut;
    targetGroupArn?: string | core.StringOut;
}
export interface CapacityProviderStrategyArgs extends core.SchemaArgs {
    base?: number | core.NumberOut;
    capacityProvider: string | core.StringOut;
    weight: number | core.NumberOut;
}
export declare class CapacityProviderStrategy extends core.Schema<CapacityProviderStrategyArgs> {
    base?: number | core.NumberOut;
    capacityProvider: string | core.StringOut;
    weight: number | core.NumberOut;
}
export interface ServiceRegistriesArgs extends core.SchemaArgs {
    containerName?: string | core.StringOut;
    containerPort?: number | core.NumberOut;
    port?: number | core.NumberOut;
    registryArn: string | core.StringOut;
}
export declare class ServiceRegistries extends core.Schema<ServiceRegistriesArgs> {
    containerName?: string | core.StringOut;
    containerPort?: number | core.NumberOut;
    port?: number | core.NumberOut;
    registryArn: string | core.StringOut;
}
export interface ScaleArgs extends core.SchemaArgs {
    unit?: string | core.StringOut;
    value?: number | core.NumberOut;
}
export declare class Scale extends core.Schema<ScaleArgs> {
    unit?: string | core.StringOut;
    value?: number | core.NumberOut;
}
export interface NetworkConfigurationArgs extends core.SchemaArgs {
    assignPublicIp?: boolean | core.BooleanOut;
    securityGroups?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnets: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class NetworkConfiguration extends core.Schema<NetworkConfigurationArgs> {
    assignPublicIp?: boolean | core.BooleanOut;
    securityGroups?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnets: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface TaskSetArgs extends core.ResourceArgs {
    capacityProviderStrategy?: core.Array<CapacityProviderStrategy> | core.ArrayOut<CapacityProviderStrategy>;
    cluster: string | core.StringOut;
    externalId?: string | core.StringOut;
    forceDelete?: boolean | core.BooleanOut;
    launchType?: string | core.StringOut;
    loadBalancer?: core.Array<LoadBalancer> | core.ArrayOut<LoadBalancer>;
    networkConfiguration?: NetworkConfiguration;
    platformVersion?: string | core.StringOut;
    scale?: Scale;
    service: string | core.StringOut;
    serviceRegistries?: ServiceRegistries;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    taskDefinition: string | core.StringOut;
    waitUntilStable?: boolean | core.BooleanOut;
    waitUntilStableTimeout?: string | core.StringOut;
}
export declare class TaskSet extends core.Resource<TaskSetArgs> {
    arn: string | core.StringOut;
    capacityProviderStrategy?: core.Array<CapacityProviderStrategy> | core.ArrayOut<CapacityProviderStrategy>;
    cluster: string | core.StringOut;
    externalId?: string | core.StringOut;
    forceDelete?: boolean | core.BooleanOut;
    id: string | core.StringOut;
    launchType?: string | core.StringOut;
    loadBalancer?: core.Array<LoadBalancer> | core.ArrayOut<LoadBalancer>;
    networkConfiguration?: NetworkConfiguration;
    platformVersion?: string | core.StringOut;
    scale?: Scale;
    service: string | core.StringOut;
    serviceRegistries?: ServiceRegistries;
    stabilityStatus: string | core.StringOut;
    status: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    taskDefinition: string | core.StringOut;
    taskSetId: string | core.StringOut;
    waitUntilStable?: boolean | core.BooleanOut;
    waitUntilStableTimeout?: string | core.StringOut;
    constructor(name: string, args?: TaskSetArgs);
    getNamespace(): string;
}
//# sourceMappingURL=task_set.d.ts.map