import { AutoStartConfigurationProps } from './application/AutoStartConfigurationProps';
import { Value } from '../../cloudformation/Value';
import { WorkerTypeSpecificationInputProps } from './application/WorkerTypeSpecificationInputProps';
import { InitialCapacityConfigKeyValuePairProps } from './application/InitialCapacityConfigKeyValuePairProps';
import { ImageConfigurationInputProps } from './application/ImageConfigurationInputProps';
import { MaximumAllowedResourcesProps } from './application/MaximumAllowedResourcesProps';
import { AutoStopConfigurationProps } from './application/AutoStopConfigurationProps';
import { NetworkConfigurationProps } from './application/NetworkConfigurationProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ApplicationAttributes = {
    Arn: Attribute<string>;
    ApplicationId: Attribute<string>;
};
export type Application = AwsResource<'AWS::EMRServerless::Application', ApplicationProperties, ApplicationAttributes>;
/**
  The <code>AWS::EMRServerless::Application</code> resource specifies an EMR Serverless application. An application uses open source analytics frameworks to run jobs that process data. To create an application, you must specify the release version for the open source framework version you want to use and the type of application you want, such as Apache Spark or Apache Hive. After you create an application, you can submit data processing jobs or interactive requests to it.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html">the AWS Docs</a>
*/
export declare function application(applicationProps: ApplicationProperties): Application;
/**
  The <code>AWS::EMRServerless::Application</code> resource specifies an EMR Serverless application. An application uses open source analytics frameworks to run jobs that process data. To create an application, you must specify the release version for the open source framework version you want to use and the type of application you want, such as Apache Spark or Apache Hive. After you create an application, you can submit data processing jobs or interactive requests to it.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html">the AWS Docs</a>
*/
export interface ApplicationProperties {
    /** <code>AutoStartConfiguration</code>  <a name="cfn-emrserverless-application-autostartconfiguration"></a>
  The configuration for an application to automatically start on job submission.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    autoStartConfiguration?: AutoStartConfigurationProps;
    /** <code>Type</code>  <a name="cfn-emrserverless-application-type"></a>
  The type of application, such as Spark or Hive.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>64</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> */
    type: Value<string>;
    /** <code>Architecture</code>  <a name="cfn-emrserverless-application-architecture"></a>
  The CPU architecture of an application.<br />
  
  Required: No<br />
  
  Allowed values: <code>ARM64 | X86_64</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    architecture?: Value<'ARM64' | 'X86_64'>;
    /** <code>WorkerTypeSpecifications</code>  <a name="cfn-emrserverless-application-workertypespecifications"></a>
  The specification applied to each worker type.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    workerTypeSpecifications?: {
        [key: string]: WorkerTypeSpecificationInputProps;
    };
    /** <code>InitialCapacity</code>  <a name="cfn-emrserverless-application-initialcapacity"></a>
  The initial capacity of the application.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    initialCapacity?: InitialCapacityConfigKeyValuePairProps[];
    /** <code>ImageConfiguration</code>  <a name="cfn-emrserverless-application-imageconfiguration"></a>
  The image configuration applied to all worker types.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    imageConfiguration?: ImageConfigurationInputProps;
    /** <code>MaximumCapacity</code>  <a name="cfn-emrserverless-application-maximumcapacity"></a>
  The maximum capacity of the application. This is cumulative across all workers at any given point in time during the lifespan of the application is created. No new resources will be created once any one of the defined limits is hit.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    maximumCapacity?: MaximumAllowedResourcesProps;
    /** <code>AutoStopConfiguration</code>  <a name="cfn-emrserverless-application-autostopconfiguration"></a>
  The configuration for an application to automatically stop after a certain amount of time being idle.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    autoStopConfiguration?: AutoStopConfigurationProps;
    /** <code>NetworkConfiguration</code>  <a name="cfn-emrserverless-application-networkconfiguration"></a>
  The network configuration for customer VPC connectivity for the application.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    networkConfiguration?: NetworkConfigurationProps;
    /** <code>ReleaseLabel</code>  <a name="cfn-emrserverless-application-releaselabel"></a>
  The Amazon EMR release associated with the application.<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-some-interrupt">Some interruptions</a> */
    releaseLabel: Value<string>;
    /** <code>Tags</code>  <a name="cfn-emrserverless-application-tags"></a>
  The tags assigned to the application.<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-emrserverless-application-name"></a>
  The name of the application.<br />
  
  Required: No<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>;
}
