import * as core from "@terrascript/core";
export interface EbsVolumeArgs extends core.SchemaArgs {
    encrypted?: boolean | core.BooleanOut;
    iops?: number | core.NumberOut;
    mountPoint: string | core.StringOut;
    numberOfDisks: number | core.NumberOut;
    raidLevel?: string | core.StringOut;
    size: number | core.NumberOut;
    type?: string | core.StringOut;
}
export declare class EbsVolume extends core.Schema<EbsVolumeArgs> {
    encrypted?: boolean | core.BooleanOut;
    iops?: number | core.NumberOut;
    mountPoint: string | core.StringOut;
    numberOfDisks: number | core.NumberOut;
    raidLevel?: string | core.StringOut;
    size: number | core.NumberOut;
    type?: string | core.StringOut;
}
export interface LogStreamsArgs extends core.SchemaArgs {
    batchCount?: number | core.NumberOut;
    batchSize?: number | core.NumberOut;
    bufferDuration?: number | core.NumberOut;
    datetimeFormat?: string | core.StringOut;
    encoding?: string | core.StringOut;
    file: string | core.StringOut;
    fileFingerprintLines?: string | core.StringOut;
    initialPosition?: string | core.StringOut;
    logGroupName: string | core.StringOut;
    multilineStartPattern?: string | core.StringOut;
    timeZone?: string | core.StringOut;
}
export declare class LogStreams extends core.Schema<LogStreamsArgs> {
    batchCount?: number | core.NumberOut;
    batchSize?: number | core.NumberOut;
    bufferDuration?: number | core.NumberOut;
    datetimeFormat?: string | core.StringOut;
    encoding?: string | core.StringOut;
    file: string | core.StringOut;
    fileFingerprintLines?: string | core.StringOut;
    initialPosition?: string | core.StringOut;
    logGroupName: string | core.StringOut;
    multilineStartPattern?: string | core.StringOut;
    timeZone?: string | core.StringOut;
}
export interface CloudwatchConfigurationArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
    logStreams?: core.Array<LogStreams> | core.ArrayOut<LogStreams>;
}
export declare class CloudwatchConfiguration extends core.Schema<CloudwatchConfigurationArgs> {
    enabled?: boolean | core.BooleanOut;
    logStreams?: core.Array<LogStreams> | core.ArrayOut<LogStreams>;
}
export interface JavaAppLayerArgs extends core.ResourceArgs {
    appServer?: string | core.StringOut;
    appServerVersion?: string | core.StringOut;
    autoAssignElasticIps?: boolean | core.BooleanOut;
    autoAssignPublicIps?: boolean | core.BooleanOut;
    autoHealing?: boolean | core.BooleanOut;
    cloudwatchConfiguration?: CloudwatchConfiguration;
    customConfigureRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customDeployRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customInstanceProfileArn?: string | core.StringOut;
    customJson?: string | core.StringOut;
    customSecurityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customSetupRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customShutdownRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customUndeployRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    drainElbOnShutdown?: boolean | core.BooleanOut;
    ebsVolume?: core.Array<EbsVolume> | core.ArrayOut<EbsVolume>;
    elasticLoadBalancer?: string | core.StringOut;
    installUpdatesOnBoot?: boolean | core.BooleanOut;
    instanceShutdownTimeout?: number | core.NumberOut;
    jvmOptions?: string | core.StringOut;
    jvmType?: string | core.StringOut;
    jvmVersion?: string | core.StringOut;
    name?: string | core.StringOut;
    stackId: string | core.StringOut;
    systemPackages?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    useEbsOptimizedInstances?: boolean | core.BooleanOut;
}
export declare class JavaAppLayer extends core.Resource<JavaAppLayerArgs> {
    appServer?: string | core.StringOut;
    appServerVersion?: string | core.StringOut;
    arn: string | core.StringOut;
    autoAssignElasticIps?: boolean | core.BooleanOut;
    autoAssignPublicIps?: boolean | core.BooleanOut;
    autoHealing?: boolean | core.BooleanOut;
    cloudwatchConfiguration?: CloudwatchConfiguration;
    customConfigureRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customDeployRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customInstanceProfileArn?: string | core.StringOut;
    customJson?: string | core.StringOut;
    customSecurityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customSetupRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customShutdownRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    customUndeployRecipes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    drainElbOnShutdown?: boolean | core.BooleanOut;
    ebsVolume?: core.Array<EbsVolume> | core.ArrayOut<EbsVolume>;
    elasticLoadBalancer?: string | core.StringOut;
    id: string | core.StringOut;
    installUpdatesOnBoot?: boolean | core.BooleanOut;
    instanceShutdownTimeout?: number | core.NumberOut;
    jvmOptions?: string | core.StringOut;
    jvmType?: string | core.StringOut;
    jvmVersion?: string | core.StringOut;
    name?: string | core.StringOut;
    stackId: string | core.StringOut;
    systemPackages?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    useEbsOptimizedInstances?: boolean | core.BooleanOut;
    constructor(name: string, args?: JavaAppLayerArgs);
    getNamespace(): string;
}
//# sourceMappingURL=java_app_layer.d.ts.map