import { Value } from '../../cloudformation/Value';
import { IntegrationOverridesProps } from './apigatewaymanagedoverrides/IntegrationOverridesProps';
import { RouteOverridesProps } from './apigatewaymanagedoverrides/RouteOverridesProps';
import { StageOverridesProps } from './apigatewaymanagedoverrides/StageOverridesProps';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::ApiGatewayV2::ApiGatewayManagedOverrides</code> resource overrides the default properties of API Gateway-managed resources that are implicitly configured for you when you use quick create. When you create an API by using quick create, an <code>AWS::ApiGatewayV2::Route</code>, <code>AWS::ApiGatewayV2::Integration</code>, and <code>AWS::ApiGatewayV2::Stage</code> are created for you and associated with your <code>AWS::ApiGatewayV2::Api</code>. The <code>AWS::ApiGatewayV2::ApiGatewayManagedOverrides</code> resource enables you to set, or override the properties of these implicit resources. Supported only for HTTP APIs.
  For full documentation go to <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html">the AWS Docs</a>
*/
export type ApiGatewayManagedOverrides = AwsResource<'AWS::ApiGatewayV2::ApiGatewayManagedOverrides', ApiGatewayManagedOverridesProperties>;
export declare function apiGatewayManagedOverrides(apiGatewayManagedOverridesProps: ApiGatewayManagedOverridesProperties): ApiGatewayManagedOverrides;
/**
  The <code>AWS::ApiGatewayV2::ApiGatewayManagedOverrides</code> resource overrides the default properties of API Gateway-managed resources that are implicitly configured for you when you use quick create. When you create an API by using quick create, an <code>AWS::ApiGatewayV2::Route</code>, <code>AWS::ApiGatewayV2::Integration</code>, and <code>AWS::ApiGatewayV2::Stage</code> are created for you and associated with your <code>AWS::ApiGatewayV2::Api</code>. The <code>AWS::ApiGatewayV2::ApiGatewayManagedOverrides</code> resource enables you to set, or override the properties of these implicit resources. Supported only for HTTP APIs.
  For full documentation go to <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html">the AWS Docs</a>
*/
export interface ApiGatewayManagedOverridesProperties {
    /** <code>ApiId</code>  <a name="cfn-apigatewayv2-apigatewaymanagedoverrides-apiid"></a>
  The ID of the API for which to override the configuration of API Gateway-managed resources.<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> */
    apiId: Value<string>;
    /** <code>Integration</code>  <a name="cfn-apigatewayv2-apigatewaymanagedoverrides-integration"></a>
  Overrides the integration configuration for an API Gateway-managed integration.<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> */
    integration?: IntegrationOverridesProps;
    /** <code>Route</code>  <a name="cfn-apigatewayv2-apigatewaymanagedoverrides-route"></a>
  Overrides the route configuration for an API Gateway-managed route.<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> */
    route?: RouteOverridesProps;
    /** <code>Stage</code>  <a name="cfn-apigatewayv2-apigatewaymanagedoverrides-stage"></a>
  Overrides the stage configuration for an API Gateway-managed stage.<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> */
    stage?: StageOverridesProps;
}
