import * as core from "@terrascript/core";
export interface EbsBlockDeviceArgs extends core.SchemaArgs {
    deleteOnTermination?: boolean | core.BooleanOut;
    deviceName: string | core.StringOut;
    encrypted?: boolean | core.BooleanOut;
    iops?: number | core.NumberOut;
    outpostArn?: string | core.StringOut;
    snapshotId?: string | core.StringOut;
    throughput?: number | core.NumberOut;
    volumeSize?: number | core.NumberOut;
    volumeType?: string | core.StringOut;
}
export declare class EbsBlockDevice extends core.Schema<EbsBlockDeviceArgs> {
    deleteOnTermination?: boolean | core.BooleanOut;
    deviceName: string | core.StringOut;
    encrypted?: boolean | core.BooleanOut;
    iops?: number | core.NumberOut;
    outpostArn?: string | core.StringOut;
    snapshotId?: string | core.StringOut;
    throughput?: number | core.NumberOut;
    volumeSize?: number | core.NumberOut;
    volumeType?: string | core.StringOut;
}
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 AmiArgs extends core.ResourceArgs {
    architecture?: string | core.StringOut;
    bootMode?: string | core.StringOut;
    deprecationTime?: string | core.StringOut;
    description?: string | core.StringOut;
    ebsBlockDevice?: core.Array<EbsBlockDevice> | core.ArrayOut<EbsBlockDevice>;
    enaSupport?: boolean | core.BooleanOut;
    ephemeralBlockDevice?: core.Array<EphemeralBlockDevice> | core.ArrayOut<EphemeralBlockDevice>;
    imageLocation?: string | core.StringOut;
    kernelId?: string | core.StringOut;
    name: string | core.StringOut;
    ramdiskId?: string | core.StringOut;
    rootDeviceName?: string | core.StringOut;
    sriovNetSupport?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tpmSupport?: string | core.StringOut;
    virtualizationType?: string | core.StringOut;
}
export declare class Ami extends core.Resource<AmiArgs> {
    architecture?: string | core.StringOut;
    arn: string | core.StringOut;
    bootMode?: string | core.StringOut;
    deprecationTime?: string | core.StringOut;
    description?: string | core.StringOut;
    ebsBlockDevice?: core.Array<EbsBlockDevice> | core.ArrayOut<EbsBlockDevice>;
    enaSupport?: boolean | core.BooleanOut;
    ephemeralBlockDevice?: core.Array<EphemeralBlockDevice> | core.ArrayOut<EphemeralBlockDevice>;
    hypervisor: string | core.StringOut;
    id: string | core.StringOut;
    imageLocation?: string | core.StringOut;
    imageOwnerAlias: string | core.StringOut;
    imageType: string | core.StringOut;
    kernelId?: string | core.StringOut;
    manageEbsSnapshots: boolean | core.BooleanOut;
    name: string | core.StringOut;
    ownerId: string | core.StringOut;
    platform: string | core.StringOut;
    platformDetails: string | core.StringOut;
    public: boolean | core.BooleanOut;
    ramdiskId?: string | core.StringOut;
    rootDeviceName?: string | core.StringOut;
    rootSnapshotId: string | core.StringOut;
    sriovNetSupport?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tpmSupport?: string | core.StringOut;
    usageOperation: string | core.StringOut;
    virtualizationType?: string | core.StringOut;
    constructor(name: string, args?: AmiArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ami.d.ts.map