import * as core from "@terrascript/core";
export interface EphemeralBlockDeviceArgs extends core.SchemaArgs {
    deviceName: string | core.StringOut;
    virtualName: string | core.StringOut;
}
export declare class EphemeralBlockDevice extends core.Schema<EphemeralBlockDeviceArgs> {
    deviceName: string | core.StringOut;
    virtualName: string | core.StringOut;
}
export interface EbsBlockDeviceArgs extends core.SchemaArgs {
    deleteOnTermination?: boolean | core.BooleanOut;
    deviceName: string | core.StringOut;
    iops?: number | core.NumberOut;
    snapshotId?: string | core.StringOut;
    volumeSize?: number | core.NumberOut;
    volumeType?: string | core.StringOut;
}
export declare class EbsBlockDevice extends core.Schema<EbsBlockDeviceArgs> {
    deleteOnTermination?: boolean | core.BooleanOut;
    deviceName: string | core.StringOut;
    iops?: number | core.NumberOut;
    snapshotId?: string | core.StringOut;
    volumeSize?: number | core.NumberOut;
    volumeType?: string | core.StringOut;
}
export interface RootBlockDeviceArgs extends core.SchemaArgs {
    deleteOnTermination?: boolean | core.BooleanOut;
    iops?: number | core.NumberOut;
    volumeSize?: number | core.NumberOut;
    volumeType?: string | core.StringOut;
}
export declare class RootBlockDevice extends core.Schema<RootBlockDeviceArgs> {
    deleteOnTermination?: boolean | core.BooleanOut;
    iops?: number | core.NumberOut;
    volumeSize?: number | core.NumberOut;
    volumeType?: string | core.StringOut;
}
export interface InstanceArgs extends core.ResourceArgs {
    agentVersion?: string | core.StringOut;
    amiId?: string | core.StringOut;
    architecture?: string | core.StringOut;
    autoScalingType?: string | core.StringOut;
    availabilityZone?: string | core.StringOut;
    createdAt?: string | core.StringOut;
    deleteEbs?: boolean | core.BooleanOut;
    deleteEip?: boolean | core.BooleanOut;
    ebsBlockDevice?: core.Array<EbsBlockDevice> | core.ArrayOut<EbsBlockDevice>;
    ebsOptimized?: boolean | core.BooleanOut;
    ecsClusterArn?: string | core.StringOut;
    elasticIp?: string | core.StringOut;
    ephemeralBlockDevice?: core.Array<EphemeralBlockDevice> | core.ArrayOut<EphemeralBlockDevice>;
    hostname?: string | core.StringOut;
    infrastructureClass?: string | core.StringOut;
    installUpdatesOnBoot?: boolean | core.BooleanOut;
    instanceProfileArn?: string | core.StringOut;
    instanceType?: string | core.StringOut;
    layerIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    os?: string | core.StringOut;
    rootBlockDevice?: core.Array<RootBlockDevice> | core.ArrayOut<RootBlockDevice>;
    rootDeviceType?: string | core.StringOut;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    sshKeyName?: string | core.StringOut;
    stackId: string | core.StringOut;
    state?: string | core.StringOut;
    status?: string | core.StringOut;
    subnetId?: string | core.StringOut;
    tenancy?: string | core.StringOut;
    virtualizationType?: string | core.StringOut;
}
export declare class Instance extends core.Resource<InstanceArgs> {
    agentVersion?: string | core.StringOut;
    amiId?: string | core.StringOut;
    architecture?: string | core.StringOut;
    autoScalingType?: string | core.StringOut;
    availabilityZone?: string | core.StringOut;
    createdAt?: string | core.StringOut;
    deleteEbs?: boolean | core.BooleanOut;
    deleteEip?: boolean | core.BooleanOut;
    ebsBlockDevice?: core.Array<EbsBlockDevice> | core.ArrayOut<EbsBlockDevice>;
    ebsOptimized?: boolean | core.BooleanOut;
    ec2InstanceId: string | core.StringOut;
    ecsClusterArn?: string | core.StringOut;
    elasticIp?: string | core.StringOut;
    ephemeralBlockDevice?: core.Array<EphemeralBlockDevice> | core.ArrayOut<EphemeralBlockDevice>;
    hostname?: string | core.StringOut;
    id: string | core.StringOut;
    infrastructureClass?: string | core.StringOut;
    installUpdatesOnBoot?: boolean | core.BooleanOut;
    instanceProfileArn?: string | core.StringOut;
    instanceType?: string | core.StringOut;
    lastServiceErrorId: string | core.StringOut;
    layerIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    os?: string | core.StringOut;
    platform: string | core.StringOut;
    privateDns: string | core.StringOut;
    privateIp: string | core.StringOut;
    publicDns: string | core.StringOut;
    publicIp: string | core.StringOut;
    registeredBy: string | core.StringOut;
    reportedAgentVersion: string | core.StringOut;
    reportedOsFamily: string | core.StringOut;
    reportedOsName: string | core.StringOut;
    reportedOsVersion: string | core.StringOut;
    rootBlockDevice?: core.Array<RootBlockDevice> | core.ArrayOut<RootBlockDevice>;
    rootDeviceType?: string | core.StringOut;
    rootDeviceVolumeId: string | core.StringOut;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    sshHostDsaKeyFingerprint: string | core.StringOut;
    sshHostRsaKeyFingerprint: string | core.StringOut;
    sshKeyName?: string | core.StringOut;
    stackId: string | core.StringOut;
    state?: string | core.StringOut;
    status?: string | core.StringOut;
    subnetId?: string | core.StringOut;
    tenancy?: string | core.StringOut;
    virtualizationType?: string | core.StringOut;
    constructor(name: string, args?: InstanceArgs);
    getNamespace(): string;
}
//# sourceMappingURL=instance.d.ts.map