import type { CloudFormationTags } from "..";
import type { Arn } from "../../Arn";
import type { AwsResourceCommon, NameValuePair } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
export declare type ClusterType = 'AWS::ECS::Cluster';
export interface Cluster extends AwsResourceCommon {
    Type: ClusterType;
    Properties: ClusterProperties;
}
export interface ClusterProperties {
    CapacityProviders?: string[];
    ClusterName?: string;
    ClusterSettings?: NameValuePair[];
    Configuration?: {
        ExecuteCommandConfiguration: ExecuteCommandConfiguration;
    };
    DefaultCapacityProviderStrategy?: object[];
    Tags?: CloudFormationTags;
}
export interface ExecuteCommandConfiguration {
    KmsKeyId?: CloudFormationValue<Arn>;
    Logging?: 'DEFAULT' | 'NONE' | 'OVERRIDE';
    LogConfiguration?: ExecuteCommandLogConfiguration;
}
export interface ExecuteCommandLogConfiguration {
    CloudWatchEncryptionEnabled?: boolean;
    CloudWatchLogGroupName?: CloudFormationValue;
    S3BucketName?: CloudFormationValue;
    S3EncryptionEnabled?: boolean;
    S3KeyPrefix?: CloudFormationValue;
}
