import { ContainerProviderProps } from './virtualcluster/ContainerProviderProps';
import { Tag } from '../Tag';
import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type VirtualClusterAttributes = {
    Id: Attribute<string>;
    Arn: Attribute<string>;
};
export type VirtualCluster = AwsResource<'AWS::EMRContainers::VirtualCluster', VirtualClusterProperties, VirtualClusterAttributes>;
/**
  The <code>AWS::EMRContainers::VirtualCluster</code> resource specifies a virtual cluster. A virtual cluster is a managed entity on Amazon EMR on EKS. You can create, describe, list, and delete virtual clusters. They do not consume any additional resources in your system. A single virtual cluster maps to a single Kubernetes namespace. Given this relationship, you can model virtual clusters the same way you model Kubernetes namespaces to meet your requirements.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html">the AWS Docs</a>
*/
export declare function virtualCluster(virtualClusterProps: VirtualClusterProperties): VirtualCluster;
/**
  The <code>AWS::EMRContainers::VirtualCluster</code> resource specifies a virtual cluster. A virtual cluster is a managed entity on Amazon EMR on EKS. You can create, describe, list, and delete virtual clusters. They do not consume any additional resources in your system. A single virtual cluster maps to a single Kubernetes namespace. Given this relationship, you can model virtual clusters the same way you model Kubernetes namespaces to meet your requirements.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html">the AWS Docs</a>
*/
export interface VirtualClusterProperties {
    /** <code>ContainerProvider</code>  <a name="cfn-emrcontainers-virtualcluster-containerprovider"></a>
  The container provider of the virtual cluster.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    containerProvider: ContainerProviderProps;
    /** <code>Tags</code>  <a name="cfn-emrcontainers-virtualcluster-tags"></a>
  An array of key-value pairs to apply to this resource.<br />
  For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Tag</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
    /** <code>Name</code>  <a name="cfn-emrcontainers-virtualcluster-name"></a>
  The name of the virtual cluster.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>64</code><br />
  
  Pattern: <code>[\.\-_/#A-Za-z0-9]+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name: Value<string>;
}
