import * as core from "@terrascript/core";
export interface BlockDeviceMappingsArgs extends core.SchemaArgs {
    deviceName: string | core.StringOut;
    ebs: core.Map<string, string> | core.MapOut<core.StringOut>;
    noDevice: string | core.StringOut;
    virtualName: string | core.StringOut;
}
export declare class BlockDeviceMappings extends core.Schema<BlockDeviceMappingsArgs> {
    deviceName: string | core.StringOut;
    ebs: core.Map<string, string> | core.MapOut<core.StringOut>;
    noDevice: string | core.StringOut;
    virtualName: string | core.StringOut;
}
export interface ProductCodesArgs extends core.SchemaArgs {
    productCodeId: string | core.StringOut;
    productCodeType: string | core.StringOut;
}
export declare class ProductCodes extends core.Schema<ProductCodesArgs> {
    productCodeId: string | core.StringOut;
    productCodeType: string | core.StringOut;
}
export interface FilterArgs extends core.SchemaArgs {
    name: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Filter extends core.Schema<FilterArgs> {
    name: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface DsAmiArgs {
    executableUsers?: core.Array<string> | core.ArrayOut<core.StringOut>;
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
    includeDeprecated?: boolean | core.BooleanOut;
    mostRecent?: boolean | core.BooleanOut;
    nameRegex?: string | core.StringOut;
    owners?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsAmi extends core.Data<DsAmiArgs> {
    architecture: string | core.StringOut;
    arn: string | core.StringOut;
    blockDeviceMappings: core.Array<BlockDeviceMappings> | core.ArrayOut<BlockDeviceMappings>;
    bootMode: string | core.StringOut;
    creationDate: string | core.StringOut;
    deprecationTime: string | core.StringOut;
    description: string | core.StringOut;
    enaSupport: boolean | core.BooleanOut;
    executableUsers?: core.Array<string> | core.ArrayOut<core.StringOut>;
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
    hypervisor: string | core.StringOut;
    id: string | core.StringOut;
    imageId: string | core.StringOut;
    imageLocation: string | core.StringOut;
    imageOwnerAlias: string | core.StringOut;
    imageType: string | core.StringOut;
    includeDeprecated?: boolean | core.BooleanOut;
    kernelId: string | core.StringOut;
    mostRecent?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    nameRegex?: string | core.StringOut;
    ownerId: string | core.StringOut;
    owners?: core.Array<string> | core.ArrayOut<core.StringOut>;
    platform: string | core.StringOut;
    platformDetails: string | core.StringOut;
    productCodes: core.Array<ProductCodes> | core.ArrayOut<ProductCodes>;
    public: boolean | core.BooleanOut;
    ramdiskId: string | core.StringOut;
    rootDeviceName: string | core.StringOut;
    rootDeviceType: string | core.StringOut;
    rootSnapshotId: string | core.StringOut;
    sriovNetSupport: string | core.StringOut;
    state: string | core.StringOut;
    stateReason: core.Map<string, string> | core.MapOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tpmSupport: string | core.StringOut;
    usageOperation: string | core.StringOut;
    virtualizationType: string | core.StringOut;
    constructor(name: string, args?: DsAmiArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_ami.d.ts.map