import * as core from "@terrascript/core";
export interface InstanceMetadataOptionsArgs extends core.SchemaArgs {
    httpPutResponseHopLimit: number | core.NumberOut;
    httpTokens: string | core.StringOut;
}
export declare class InstanceMetadataOptions extends core.Schema<InstanceMetadataOptionsArgs> {
    httpPutResponseHopLimit: number | core.NumberOut;
    httpTokens: string | core.StringOut;
}
export interface S3LogsArgs extends core.SchemaArgs {
    s3BucketName: string | core.StringOut;
    s3KeyPrefix: string | core.StringOut;
}
export declare class S3Logs extends core.Schema<S3LogsArgs> {
    s3BucketName: string | core.StringOut;
    s3KeyPrefix: string | core.StringOut;
}
export interface LoggingArgs extends core.SchemaArgs {
    s3Logs: core.Array<S3Logs> | core.ArrayOut<S3Logs>;
}
export declare class Logging extends core.Schema<LoggingArgs> {
    s3Logs: core.Array<S3Logs> | core.ArrayOut<S3Logs>;
}
export interface DsInfrastructureConfigurationArgs {
    arn: string | core.StringOut;
    resourceTags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsInfrastructureConfiguration extends core.Data<DsInfrastructureConfigurationArgs> {
    arn: string | core.StringOut;
    dateCreated: string | core.StringOut;
    dateUpdated: string | core.StringOut;
    description: string | core.StringOut;
    id: string | core.StringOut;
    instanceMetadataOptions: core.Array<InstanceMetadataOptions> | core.ArrayOut<InstanceMetadataOptions>;
    instanceProfileName: string | core.StringOut;
    instanceTypes: core.Array<string> | core.ArrayOut<core.StringOut>;
    keyPair: string | core.StringOut;
    logging: core.Array<Logging> | core.ArrayOut<Logging>;
    name: string | core.StringOut;
    resourceTags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    snsTopicArn: string | core.StringOut;
    subnetId: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    terminateInstanceOnFailure: boolean | core.BooleanOut;
    constructor(name: string, args?: DsInfrastructureConfigurationArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_infrastructure_configuration.d.ts.map