import { Value } from '../../cloudformation/Value';
import { ApiGatewayProxyInputProps } from './application/ApiGatewayProxyInputProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ApplicationAttributes = {
    NlbArn: Attribute<string>;
    ProxyUrl: Attribute<string>;
    NlbName: Attribute<string>;
    StageName: Attribute<string>;
    ApiGatewayId: Attribute<string>;
    VpcLinkId: Attribute<string>;
    ApplicationIdentifier: Attribute<string>;
    Arn: Attribute<string>;
};
export type Application = AwsResource<'AWS::RefactorSpaces::Application', ApplicationProperties, ApplicationAttributes>;
/**
  Creates an AWS Migration Hub Refactor Spaces application. The account that owns the environment also owns the applications created inside the environment, regardless of the account that creates the application. Refactor Spaces provisions an Amazon API Gateway, API Gateway VPC link, and Network Load Balancer for the application proxy inside your account.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html">the AWS Docs</a>
*/
export declare function application(applicationProps: ApplicationProperties): Application;
/**
  Creates an AWS Migration Hub Refactor Spaces application. The account that owns the environment also owns the applications created inside the environment, regardless of the account that creates the application. Refactor Spaces provisions an Amazon API Gateway, API Gateway VPC link, and Network Load Balancer for the application proxy inside your account.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html">the AWS Docs</a>
*/
export interface ApplicationProperties {
    /** <code>EnvironmentIdentifier</code>  <a name="cfn-refactorspaces-application-environmentidentifier"></a>
  The unique identifier of the environment.<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> */
    environmentIdentifier: Value<string>;
    /** <code>VpcId</code>  <a name="cfn-refactorspaces-application-vpcid"></a>
  The ID of the virtual private cloud (VPC).<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> */
    vpcId: Value<string>;
    /** <code>ApiGatewayProxy</code>  <a name="cfn-refactorspaces-application-apigatewayproxy"></a>
  The endpoint URL of the Amazon API Gateway proxy.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    apiGatewayProxy?: ApiGatewayProxyInputProps;
    /** <code>ProxyType</code>  <a name="cfn-refactorspaces-application-proxytype"></a>
  The proxy type of the proxy created within the application.<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> */
    proxyType: Value<string>;
    /** <code>Tags</code>  <a name="cfn-refactorspaces-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-refactorspaces-application-name"></a>
  The name of the application.<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> */
    name: Value<string>;
}
