import * as core from "@terrascript/core";
export interface TaintsArgs extends core.SchemaArgs {
    effect: string | core.StringOut;
    key: string | core.StringOut;
    value: string | core.StringOut;
}
export declare class Taints extends core.Schema<TaintsArgs> {
    effect: string | core.StringOut;
    key: string | core.StringOut;
    value: string | core.StringOut;
}
export interface RemoteAccessArgs extends core.SchemaArgs {
    ec2SshKey: string | core.StringOut;
    sourceSecurityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class RemoteAccess extends core.Schema<RemoteAccessArgs> {
    ec2SshKey: string | core.StringOut;
    sourceSecurityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface AutoscalingGroupsArgs extends core.SchemaArgs {
    name: string | core.StringOut;
}
export declare class AutoscalingGroups extends core.Schema<AutoscalingGroupsArgs> {
    name: string | core.StringOut;
}
export interface ResourcesArgs extends core.SchemaArgs {
    autoscalingGroups: core.Array<AutoscalingGroups> | core.ArrayOut<AutoscalingGroups>;
    remoteAccessSecurityGroupId: string | core.StringOut;
}
export declare class Resources extends core.Schema<ResourcesArgs> {
    autoscalingGroups: core.Array<AutoscalingGroups> | core.ArrayOut<AutoscalingGroups>;
    remoteAccessSecurityGroupId: string | core.StringOut;
}
export interface ScalingConfigArgs extends core.SchemaArgs {
    desiredSize: number | core.NumberOut;
    maxSize: number | core.NumberOut;
    minSize: number | core.NumberOut;
}
export declare class ScalingConfig extends core.Schema<ScalingConfigArgs> {
    desiredSize: number | core.NumberOut;
    maxSize: number | core.NumberOut;
    minSize: number | core.NumberOut;
}
export interface DsNodeGroupArgs {
    clusterName: string | core.StringOut;
    nodeGroupName: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsNodeGroup extends core.Data<DsNodeGroupArgs> {
    amiType: string | core.StringOut;
    arn: string | core.StringOut;
    clusterName: string | core.StringOut;
    diskSize: number | core.NumberOut;
    id: string | core.StringOut;
    instanceTypes: core.Array<string> | core.ArrayOut<core.StringOut>;
    labels: core.Map<string, string> | core.MapOut<core.StringOut>;
    nodeGroupName: string | core.StringOut;
    nodeRoleArn: string | core.StringOut;
    releaseVersion: string | core.StringOut;
    remoteAccess: core.Array<RemoteAccess> | core.ArrayOut<RemoteAccess>;
    resources: core.Array<Resources> | core.ArrayOut<Resources>;
    scalingConfig: core.Array<ScalingConfig> | core.ArrayOut<ScalingConfig>;
    status: string | core.StringOut;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    taints: core.Array<Taints> | core.ArrayOut<Taints>;
    version: string | core.StringOut;
    constructor(name: string, args?: DsNodeGroupArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_node_group.d.ts.map