import { ResourceBase } from "../../resource";
import { Value, List } from "../../data-types";
export declare class BlockDeviceMapping {
    DeviceName: Value<string>;
    Ebs?: BlockDevice;
    NoDevice?: Value<boolean>;
    VirtualName?: Value<string>;
    constructor(properties: BlockDeviceMapping);
}
export declare class BlockDevice {
    DeleteOnTermination?: Value<boolean>;
    Encrypted?: Value<boolean>;
    Iops?: Value<number>;
    SnapshotId?: Value<string>;
    VolumeSize?: Value<number>;
    VolumeType?: Value<string>;
    constructor(properties: BlockDevice);
}
export interface LaunchConfigurationProperties {
    AssociatePublicIpAddress?: Value<boolean>;
    SpotPrice?: Value<string>;
    BlockDeviceMappings?: List<BlockDeviceMapping>;
    KeyName?: Value<string>;
    LaunchConfigurationName?: Value<string>;
    InstanceType: Value<string>;
    InstanceId?: Value<string>;
    ClassicLinkVPCSecurityGroups?: List<Value<string>>;
    EbsOptimized?: Value<boolean>;
    SecurityGroups?: List<Value<string>>;
    UserData?: Value<string>;
    RamDiskId?: Value<string>;
    ImageId: Value<string>;
    KernelId?: Value<string>;
    ClassicLinkVPCId?: Value<string>;
    PlacementTenancy?: Value<string>;
    InstanceMonitoring?: Value<boolean>;
    IamInstanceProfile?: Value<string>;
}
export default class Inner_LaunchConfiguration extends ResourceBase<LaunchConfigurationProperties> {
    static BlockDeviceMapping: typeof BlockDeviceMapping;
    static BlockDevice: typeof BlockDevice;
    constructor(properties: LaunchConfigurationProperties);
}
