import * as core from "@terrascript/core";
export interface LogConfigurationArgs extends core.SchemaArgs {
    cloudWatchEncryptionEnabled?: boolean | core.BooleanOut;
    cloudWatchLogGroupName?: string | core.StringOut;
    s3BucketEncryptionEnabled?: boolean | core.BooleanOut;
    s3BucketName?: string | core.StringOut;
    s3KeyPrefix?: string | core.StringOut;
}
export declare class LogConfiguration extends core.Schema<LogConfigurationArgs> {
    cloudWatchEncryptionEnabled?: boolean | core.BooleanOut;
    cloudWatchLogGroupName?: string | core.StringOut;
    s3BucketEncryptionEnabled?: boolean | core.BooleanOut;
    s3BucketName?: string | core.StringOut;
    s3KeyPrefix?: string | core.StringOut;
}
export interface ExecuteCommandConfigurationArgs extends core.SchemaArgs {
    kmsKeyId?: string | core.StringOut;
    logConfiguration?: LogConfiguration;
    logging?: string | core.StringOut;
}
export declare class ExecuteCommandConfiguration extends core.Schema<ExecuteCommandConfigurationArgs> {
    kmsKeyId?: string | core.StringOut;
    logConfiguration?: LogConfiguration;
    logging?: string | core.StringOut;
}
export interface ConfigurationArgs extends core.SchemaArgs {
    executeCommandConfiguration?: ExecuteCommandConfiguration;
}
export declare class Configuration extends core.Schema<ConfigurationArgs> {
    executeCommandConfiguration?: ExecuteCommandConfiguration;
}
export interface DefaultCapacityProviderStrategyArgs extends core.SchemaArgs {
    base?: number | core.NumberOut;
    capacityProvider: string | core.StringOut;
    weight?: number | core.NumberOut;
}
export declare class DefaultCapacityProviderStrategy extends core.Schema<DefaultCapacityProviderStrategyArgs> {
    base?: number | core.NumberOut;
    capacityProvider: string | core.StringOut;
    weight?: number | core.NumberOut;
}
export interface SettingArgs extends core.SchemaArgs {
    name: string | core.StringOut;
    value: string | core.StringOut;
}
export declare class Setting extends core.Schema<SettingArgs> {
    name: string | core.StringOut;
    value: string | core.StringOut;
}
export interface ClusterArgs extends core.ResourceArgs {
    capacityProviders?: core.Array<string> | core.ArrayOut<core.StringOut>;
    configuration?: Configuration;
    defaultCapacityProviderStrategy?: core.Array<DefaultCapacityProviderStrategy> | core.ArrayOut<DefaultCapacityProviderStrategy>;
    name: string | core.StringOut;
    setting?: core.Array<Setting> | core.ArrayOut<Setting>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Cluster extends core.Resource<ClusterArgs> {
    arn: string | core.StringOut;
    capacityProviders?: core.Array<string> | core.ArrayOut<core.StringOut>;
    configuration?: Configuration;
    defaultCapacityProviderStrategy?: core.Array<DefaultCapacityProviderStrategy> | core.ArrayOut<DefaultCapacityProviderStrategy>;
    id: string | core.StringOut;
    name: string | core.StringOut;
    setting?: core.Array<Setting> | core.ArrayOut<Setting>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: ClusterArgs);
    getNamespace(): string;
}
//# sourceMappingURL=cluster.d.ts.map