import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { aws_apigateway as apiGatewayRefs, aws_apigatewayv2 as apiGatewayV2Refs, aws_ec2 as ec2Refs, aws_lambda as lambdaRefs } from "../../interfaces";
import { ApiGatewayManagedOverridesReference, ApiMappingReference, ApiReference, AuthorizerReference, DeploymentReference, DomainNameReference, IApiGatewayManagedOverridesRef, IApiMappingRef, IApiRef, IAuthorizerRef, IDeploymentRef, IDomainNameRef, IIntegrationRef, IIntegrationResponseRef, IModelRef, IntegrationReference, IntegrationResponseReference, IRouteRef, IRouteResponseRef, IRoutingRuleRef, IStageRef, IVpcLinkRef, ModelReference, RouteReference, RouteResponseReference, RoutingRuleReference, StageReference, VpcLinkReference } from "../../interfaces/generated/aws-apigatewayv2-interfaces.generated";
/**
 * The `AWS::ApiGatewayV2::Api` resource creates an API.
 *
 * WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide* . For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.*
 *
 * @cloudformationResource AWS::ApiGatewayV2::Api
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html
 */
export declare class CfnApi extends cdk.CfnResource implements cdk.IInspectable, IApiRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnApi from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApi;
    /**
     * Checks whether the given object is a CfnApi
     */
    static isCfnApi(x: any): x is CfnApi;
    /**
     * Creates a new IApiRef from a apiId
     */
    static fromApiId(scope: constructs.Construct, id: string, apiId: string): IApiRef;
    static arnForApi(resource: IApiRef): string;
    /**
     * An API key selection expression.
     */
    private _apiKeySelectionExpression?;
    /**
     * Specifies how to interpret the base path of the API during import.
     */
    private _basePath?;
    /**
     * The OpenAPI definition.
     */
    private _body?;
    /**
     * The S3 location of an OpenAPI definition.
     */
    private _bodyS3Location?;
    /**
     * A CORS configuration.
     */
    private _corsConfiguration?;
    /**
     * This property is part of quick create.
     */
    private _credentialsArn?;
    /**
     * The description of the API.
     */
    private _description?;
    /**
     * Specifies whether clients can invoke your API by using the default `execute-api` endpoint.
     */
    private _disableExecuteApiEndpoint?;
    /**
     * Avoid validating models when creating a deployment.
     */
    private _disableSchemaValidation?;
    /**
     * Specifies whether to rollback the API creation when a warning is encountered.
     */
    private _failOnWarnings?;
    /**
     * The IP address types that can invoke the API.
     */
    private _ipAddressType?;
    /**
     * The name of the API.
     */
    private _name?;
    /**
     * The API protocol.
     */
    private _protocolType?;
    /**
     * This property is part of quick create.
     */
    private _routeKey?;
    /**
     * The route selection expression for the API.
     */
    private _routeSelectionExpression?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The collection of tags.
     */
    private _tagsRaw?;
    /**
     * This property is part of quick create.
     */
    private _target?;
    /**
     * A version identifier for the API.
     */
    private _version?;
    /**
     * Create a new `AWS::ApiGatewayV2::Api`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnApiProps);
    get apiRef(): ApiReference;
    /**
     * An API key selection expression.
     */
    get apiKeySelectionExpression(): string | undefined;
    /**
     * An API key selection expression.
     */
    set apiKeySelectionExpression(value: string | undefined);
    /**
     * Specifies how to interpret the base path of the API during import.
     */
    get basePath(): string | undefined;
    /**
     * Specifies how to interpret the base path of the API during import.
     */
    set basePath(value: string | undefined);
    /**
     * The OpenAPI definition.
     */
    get body(): any | cdk.IResolvable | undefined;
    /**
     * The OpenAPI definition.
     */
    set body(value: any | cdk.IResolvable | undefined);
    /**
     * The S3 location of an OpenAPI definition.
     */
    get bodyS3Location(): CfnApi.BodyS3LocationProperty | cdk.IResolvable | undefined;
    /**
     * The S3 location of an OpenAPI definition.
     */
    set bodyS3Location(value: CfnApi.BodyS3LocationProperty | cdk.IResolvable | undefined);
    /**
     * A CORS configuration.
     */
    get corsConfiguration(): CfnApi.CorsProperty | cdk.IResolvable | undefined;
    /**
     * A CORS configuration.
     */
    set corsConfiguration(value: CfnApi.CorsProperty | cdk.IResolvable | undefined);
    /**
     * This property is part of quick create.
     */
    get credentialsArn(): string | undefined;
    /**
     * This property is part of quick create.
     */
    set credentialsArn(value: string | undefined);
    /**
     * The description of the API.
     */
    get description(): string | undefined;
    /**
     * The description of the API.
     */
    set description(value: string | undefined);
    /**
     * Specifies whether clients can invoke your API by using the default `execute-api` endpoint.
     */
    get disableExecuteApiEndpoint(): boolean | cdk.IResolvable | undefined;
    /**
     * Specifies whether clients can invoke your API by using the default `execute-api` endpoint.
     */
    set disableExecuteApiEndpoint(value: boolean | cdk.IResolvable | undefined);
    /**
     * Avoid validating models when creating a deployment.
     */
    get disableSchemaValidation(): boolean | cdk.IResolvable | undefined;
    /**
     * Avoid validating models when creating a deployment.
     */
    set disableSchemaValidation(value: boolean | cdk.IResolvable | undefined);
    /**
     * Specifies whether to rollback the API creation when a warning is encountered.
     */
    get failOnWarnings(): boolean | cdk.IResolvable | undefined;
    /**
     * Specifies whether to rollback the API creation when a warning is encountered.
     */
    set failOnWarnings(value: boolean | cdk.IResolvable | undefined);
    /**
     * The IP address types that can invoke the API.
     */
    get ipAddressType(): string | undefined;
    /**
     * The IP address types that can invoke the API.
     */
    set ipAddressType(value: string | undefined);
    /**
     * The name of the API.
     */
    get name(): string | undefined;
    /**
     * The name of the API.
     */
    set name(value: string | undefined);
    /**
     * The API protocol.
     */
    get protocolType(): string | undefined;
    /**
     * The API protocol.
     */
    set protocolType(value: string | undefined);
    /**
     * This property is part of quick create.
     */
    get routeKey(): string | undefined;
    /**
     * This property is part of quick create.
     */
    set routeKey(value: string | undefined);
    /**
     * The route selection expression for the API.
     */
    get routeSelectionExpression(): string | undefined;
    /**
     * The route selection expression for the API.
     */
    set routeSelectionExpression(value: string | undefined);
    /**
     * The collection of tags.
     */
    get tagsRaw(): Record<string, string> | undefined;
    /**
     * The collection of tags.
     */
    set tagsRaw(value: Record<string, string> | undefined);
    /**
     * This property is part of quick create.
     */
    get target(): string | undefined;
    /**
     * This property is part of quick create.
     */
    set target(value: string | undefined);
    /**
     * A version identifier for the API.
     */
    get version(): string | undefined;
    /**
     * A version identifier for the API.
     */
    set version(value: string | undefined);
    /**
     * The default endpoint for an API. For example: `https://abcdef.execute-api.us-west-2.amazonaws.com` .
     *
     * @cloudformationAttribute ApiEndpoint
     */
    get attrApiEndpoint(): string;
    /**
     * The API identifier.
     *
     * @cloudformationAttribute ApiId
     */
    get attrApiId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnApi {
    /**
     * The `BodyS3Location` property specifies an S3 location from which to import an OpenAPI definition.
     *
     * Supported only for HTTP APIs.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html
     */
    interface BodyS3LocationProperty {
        /**
         * The S3 bucket that contains the OpenAPI definition to import.
         *
         * Required if you specify a `BodyS3Location` for an API.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-bucket
         */
        readonly bucket?: string;
        /**
         * The Etag of the S3 object.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-etag
         */
        readonly etag?: string;
        /**
         * The key of the S3 object.
         *
         * Required if you specify a `BodyS3Location` for an API.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-key
         */
        readonly key?: string;
        /**
         * The version of the S3 object.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-version
         */
        readonly version?: string;
    }
    /**
     * The `Cors` property specifies a CORS configuration for an API.
     *
     * Supported only for HTTP APIs. See [Configuring CORS](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) for more information.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html
     */
    interface CorsProperty {
        /**
         * Specifies whether credentials are included in the CORS request.
         *
         * Supported only for HTTP APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowcredentials
         */
        readonly allowCredentials?: boolean | cdk.IResolvable;
        /**
         * Represents a collection of allowed headers.
         *
         * Supported only for HTTP APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowheaders
         */
        readonly allowHeaders?: Array<string>;
        /**
         * Represents a collection of allowed HTTP methods.
         *
         * Supported only for HTTP APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowmethods
         */
        readonly allowMethods?: Array<string>;
        /**
         * Represents a collection of allowed origins.
         *
         * Supported only for HTTP APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-alloworigins
         */
        readonly allowOrigins?: Array<string>;
        /**
         * Represents a collection of exposed headers.
         *
         * Supported only for HTTP APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-exposeheaders
         */
        readonly exposeHeaders?: Array<string>;
        /**
         * The number of seconds that the browser should cache preflight request results.
         *
         * Supported only for HTTP APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-maxage
         */
        readonly maxAge?: number;
    }
}
/**
 * Properties for defining a `CfnApi`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html
 */
export interface CfnApiProps {
    /**
     * An API key selection expression.
     *
     * Supported only for WebSocket APIs. See [API Key Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-apikeyselectionexpression
     */
    readonly apiKeySelectionExpression?: string;
    /**
     * Specifies how to interpret the base path of the API during import.
     *
     * Valid values are `ignore` , `prepend` , and `split` . The default value is `ignore` . To learn more, see [Set the OpenAPI basePath Property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api-basePath.html) . Supported only for HTTP APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-basepath
     */
    readonly basePath?: string;
    /**
     * The OpenAPI definition.
     *
     * Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body
     */
    readonly body?: any | cdk.IResolvable;
    /**
     * The S3 location of an OpenAPI definition.
     *
     * Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-bodys3location
     */
    readonly bodyS3Location?: CfnApi.BodyS3LocationProperty | cdk.IResolvable;
    /**
     * A CORS configuration.
     *
     * Supported only for HTTP APIs. See [Configuring CORS](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) for more information.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-corsconfiguration
     */
    readonly corsConfiguration?: CfnApi.CorsProperty | cdk.IResolvable;
    /**
     * This property is part of quick create.
     *
     * It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, specify `null` . Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-credentialsarn
     */
    readonly credentialsArn?: string;
    /**
     * The description of the API.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-description
     */
    readonly description?: string;
    /**
     * Specifies whether clients can invoke your API by using the default `execute-api` endpoint.
     *
     * By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableexecuteapiendpoint
     */
    readonly disableExecuteApiEndpoint?: boolean | cdk.IResolvable;
    /**
     * Avoid validating models when creating a deployment.
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableschemavalidation
     */
    readonly disableSchemaValidation?: boolean | cdk.IResolvable;
    /**
     * Specifies whether to rollback the API creation when a warning is encountered.
     *
     * By default, API creation continues if a warning is encountered.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-failonwarnings
     */
    readonly failOnWarnings?: boolean | cdk.IResolvable;
    /**
     * The IP address types that can invoke the API.
     *
     * Use `ipv4` to allow only IPv4 addresses to invoke your API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your API.
     *
     * Don’t use IP address type for an HTTP API based on an OpenAPI specification. Instead, specify the IP address type in the OpenAPI specification.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-ipaddresstype
     */
    readonly ipAddressType?: string;
    /**
     * The name of the API.
     *
     * Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-name
     */
    readonly name?: string;
    /**
     * The API protocol.
     *
     * Valid values are `WEBSOCKET` or `HTTP` . Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-protocoltype
     */
    readonly protocolType?: string;
    /**
     * This property is part of quick create.
     *
     * If you don't specify a `routeKey` , a default route of `$default` is created. The `$default` route acts as a catch-all for any request made to your API, for a particular stage. The `$default` route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-routekey
     */
    readonly routeKey?: string;
    /**
     * The route selection expression for the API.
     *
     * For HTTP APIs, the `routeSelectionExpression` must be `${request.method} ${request.path}` . If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-routeselectionexpression
     */
    readonly routeSelectionExpression?: string;
    /**
     * The collection of tags.
     *
     * Each tag element is associated with a given resource.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-tags
     */
    readonly tags?: Record<string, string>;
    /**
     * This property is part of quick create.
     *
     * Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-target
     */
    readonly target?: lambdaRefs.IFunctionRef | string;
    /**
     * A version identifier for the API.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-version
     */
    readonly version?: string;
}
/**
 * The `AWS::ApiGatewayV2::ApiGatewayManagedOverrides` 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 `AWS::ApiGatewayV2::Route` , `AWS::ApiGatewayV2::Integration` , and `AWS::ApiGatewayV2::Stage` are created for you and associated with your `AWS::ApiGatewayV2::Api` . The `AWS::ApiGatewayV2::ApiGatewayManagedOverrides` resource enables you to set, or override the properties of these implicit resources. Supported only for HTTP APIs.
 *
 * @cloudformationResource AWS::ApiGatewayV2::ApiGatewayManagedOverrides
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html
 */
export declare class CfnApiGatewayManagedOverrides extends cdk.CfnResource implements cdk.IInspectable, IApiGatewayManagedOverridesRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnApiGatewayManagedOverrides from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApiGatewayManagedOverrides;
    /**
     * Checks whether the given object is a CfnApiGatewayManagedOverrides
     */
    static isCfnApiGatewayManagedOverrides(x: any): x is CfnApiGatewayManagedOverrides;
    /**
     * The ID of the API for which to override the configuration of API Gateway-managed resources.
     */
    private _apiId;
    /**
     * Overrides the integration configuration for an API Gateway-managed integration.
     */
    private _integration?;
    /**
     * Overrides the route configuration for an API Gateway-managed route.
     */
    private _route?;
    /**
     * Overrides the stage configuration for an API Gateway-managed stage.
     */
    private _stage?;
    /**
     * Create a new `AWS::ApiGatewayV2::ApiGatewayManagedOverrides`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnApiGatewayManagedOverridesProps);
    get apiGatewayManagedOverridesRef(): ApiGatewayManagedOverridesReference;
    /**
     * The ID of the API for which to override the configuration of API Gateway-managed resources.
     */
    get apiId(): string;
    /**
     * The ID of the API for which to override the configuration of API Gateway-managed resources.
     */
    set apiId(value: string);
    /**
     * Overrides the integration configuration for an API Gateway-managed integration.
     */
    get integration(): CfnApiGatewayManagedOverrides.IntegrationOverridesProperty | cdk.IResolvable | undefined;
    /**
     * Overrides the integration configuration for an API Gateway-managed integration.
     */
    set integration(value: CfnApiGatewayManagedOverrides.IntegrationOverridesProperty | cdk.IResolvable | undefined);
    /**
     * Overrides the route configuration for an API Gateway-managed route.
     */
    get route(): cdk.IResolvable | CfnApiGatewayManagedOverrides.RouteOverridesProperty | undefined;
    /**
     * Overrides the route configuration for an API Gateway-managed route.
     */
    set route(value: cdk.IResolvable | CfnApiGatewayManagedOverrides.RouteOverridesProperty | undefined);
    /**
     * Overrides the stage configuration for an API Gateway-managed stage.
     */
    get stage(): cdk.IResolvable | CfnApiGatewayManagedOverrides.StageOverridesProperty | undefined;
    /**
     * Overrides the stage configuration for an API Gateway-managed stage.
     */
    set stage(value: cdk.IResolvable | CfnApiGatewayManagedOverrides.StageOverridesProperty | undefined);
    /**
     * The identifier.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnApiGatewayManagedOverrides {
    /**
     * The `IntegrationOverrides` property overrides the integration settings for an API Gateway-managed integration.
     *
     * If you remove this property, API Gateway restores the default values.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html
     */
    interface IntegrationOverridesProperty {
        /**
         * The description of the integration.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-description
         */
        readonly description?: string;
        /**
         * Specifies the integration's HTTP method type.
         *
         * For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-integrationmethod
         */
        readonly integrationMethod?: string;
        /**
         * Specifies the format of the payload sent to an integration.
         *
         * Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-payloadformatversion
         */
        readonly payloadFormatVersion?: string;
        /**
         * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
         *
         * The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-timeoutinmillis
         */
        readonly timeoutInMillis?: number;
    }
    /**
     * The `StageOverrides` property overrides the stage configuration for an API Gateway-managed stage.
     *
     * If you remove this property, API Gateway restores the default values.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html
     */
    interface StageOverridesProperty {
        /**
         * Settings for logging access in a stage.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-accesslogsettings
         */
        readonly accessLogSettings?: CfnApiGatewayManagedOverrides.AccessLogSettingsProperty | cdk.IResolvable;
        /**
         * Specifies whether updates to an API automatically trigger a new deployment.
         *
         * The default value is `true` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-autodeploy
         */
        readonly autoDeploy?: boolean | cdk.IResolvable;
        /**
         * The default route settings for the stage.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-defaultroutesettings
         */
        readonly defaultRouteSettings?: cdk.IResolvable | CfnApiGatewayManagedOverrides.RouteSettingsProperty;
        /**
         * The description for the API stage.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-description
         */
        readonly description?: string;
        /**
         * Route settings for the stage.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-routesettings
         */
        readonly routeSettings?: any | cdk.IResolvable;
        /**
         * A map that defines the stage variables for a `Stage` .
         *
         * Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-stagevariables
         */
        readonly stageVariables?: any | cdk.IResolvable;
    }
    /**
     * The `AccessLogSettings` property overrides the access log settings for an API Gateway-managed stage.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings.html
     */
    interface AccessLogSettingsProperty {
        /**
         * The ARN of the CloudWatch Logs log group to receive access logs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings-destinationarn
         */
        readonly destinationArn?: string;
        /**
         * A single line format of the access logs of data, as specified by selected $context variables.
         *
         * The format must include at least $context.requestId.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings-format
         */
        readonly format?: string;
    }
    /**
     * The `RouteSettings` property overrides the route settings for an API Gateway-managed route.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html
     */
    interface RouteSettingsProperty {
        /**
         * Specifies whether ( `true` ) or not ( `false` ) data trace logging is enabled for this route.
         *
         * This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-datatraceenabled
         */
        readonly dataTraceEnabled?: boolean | cdk.IResolvable;
        /**
         * Specifies whether detailed metrics are enabled.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-detailedmetricsenabled
         */
        readonly detailedMetricsEnabled?: boolean | cdk.IResolvable;
        /**
         * Specifies the logging level for this route: `INFO` , `ERROR` , or `OFF` .
         *
         * This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-logginglevel
         */
        readonly loggingLevel?: string;
        /**
         * Specifies the throttling burst limit.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-throttlingburstlimit
         */
        readonly throttlingBurstLimit?: number;
        /**
         * Specifies the throttling rate limit.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-throttlingratelimit
         */
        readonly throttlingRateLimit?: number;
    }
    /**
     * The `RouteOverrides` property overrides the route configuration for an API Gateway-managed route.
     *
     * If you remove this property, API Gateway restores the default values.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html
     */
    interface RouteOverridesProperty {
        /**
         * The authorization scopes supported by this route.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizationscopes
         */
        readonly authorizationScopes?: Array<string>;
        /**
         * The authorization type for the route.
         *
         * To learn more, see [AuthorizationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationtype) .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizationtype
         */
        readonly authorizationType?: string;
        /**
         * The identifier of the `Authorizer` resource to be associated with this route.
         *
         * The authorizer identifier is generated by API Gateway when you created the authorizer.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizerid
         */
        readonly authorizerId?: string;
        /**
         * The operation name for the route.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-operationname
         */
        readonly operationName?: string;
        /**
         * For HTTP integrations, specify a fully qualified URL.
         *
         * For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-target
         */
        readonly target?: string;
    }
}
/**
 * Properties for defining a `CfnApiGatewayManagedOverrides`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html
 */
export interface CfnApiGatewayManagedOverridesProps {
    /**
     * The ID of the API for which to override the configuration of API Gateway-managed resources.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-apiid
     */
    readonly apiId: string;
    /**
     * Overrides the integration configuration for an API Gateway-managed integration.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integration
     */
    readonly integration?: CfnApiGatewayManagedOverrides.IntegrationOverridesProperty | cdk.IResolvable;
    /**
     * Overrides the route configuration for an API Gateway-managed route.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-route
     */
    readonly route?: cdk.IResolvable | CfnApiGatewayManagedOverrides.RouteOverridesProperty;
    /**
     * Overrides the stage configuration for an API Gateway-managed stage.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stage
     */
    readonly stage?: cdk.IResolvable | CfnApiGatewayManagedOverrides.StageOverridesProperty;
}
/**
 * The `AWS::ApiGatewayV2::ApiMapping` resource contains an API mapping.
 *
 * An API mapping relates a path of your custom domain name to a stage of your API. A custom domain name can have multiple API mappings, but the paths can't overlap. A custom domain can map only to APIs of the same protocol type. For more information, see [CreateApiMapping](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/domainnames-domainname-apimappings.html#CreateApiMapping) in the *Amazon API Gateway V2 API Reference* .
 *
 * @cloudformationResource AWS::ApiGatewayV2::ApiMapping
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html
 */
export declare class CfnApiMapping extends cdk.CfnResource implements cdk.IInspectable, IApiMappingRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnApiMapping from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApiMapping;
    /**
     * Checks whether the given object is a CfnApiMapping
     */
    static isCfnApiMapping(x: any): x is CfnApiMapping;
    /**
     * The API identifier.
     */
    private _apiId;
    /**
     * The API mapping key.
     */
    private _apiMappingKey?;
    /**
     * The domain name.
     */
    private _domainName;
    /**
     * The API stage.
     */
    private _stage;
    /**
     * Create a new `AWS::ApiGatewayV2::ApiMapping`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnApiMappingProps);
    get apiMappingRef(): ApiMappingReference;
    /**
     * The API identifier.
     */
    get apiId(): string;
    /**
     * The API identifier.
     */
    set apiId(value: string);
    /**
     * The API mapping key.
     */
    get apiMappingKey(): string | undefined;
    /**
     * The API mapping key.
     */
    set apiMappingKey(value: string | undefined);
    /**
     * The domain name.
     */
    get domainName(): string;
    /**
     * The domain name.
     */
    set domainName(value: string);
    /**
     * The API stage.
     */
    get stage(): string;
    /**
     * The API stage.
     */
    set stage(value: string);
    /**
     * The API mapping resource ID.
     *
     * @cloudformationAttribute ApiMappingId
     */
    get attrApiMappingId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnApiMapping`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html
 */
export interface CfnApiMappingProps {
    /**
     * The API identifier.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apiid
     */
    readonly apiId: apiGatewayRefs.IRestApiRef | apiGatewayV2Refs.IApiRef | string;
    /**
     * The API mapping key.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apimappingkey
     */
    readonly apiMappingKey?: string;
    /**
     * The domain name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-domainname
     */
    readonly domainName: apiGatewayRefs.IDomainNameRef | apiGatewayV2Refs.IDomainNameRef | string;
    /**
     * The API stage.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-stage
     */
    readonly stage: string;
}
/**
 * The `AWS::ApiGatewayV2::Authorizer` resource creates an authorizer for a WebSocket API or an HTTP API.
 *
 * To learn more, see [Controlling and managing access to a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html) and [Controlling and managing access to an HTTP API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) in the *API Gateway Developer Guide* .
 *
 * @cloudformationResource AWS::ApiGatewayV2::Authorizer
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html
 */
export declare class CfnAuthorizer extends cdk.CfnResource implements cdk.IInspectable, IAuthorizerRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnAuthorizer from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAuthorizer;
    /**
     * Checks whether the given object is a CfnAuthorizer
     */
    static isCfnAuthorizer(x: any): x is CfnAuthorizer;
    /**
     * The API identifier.
     */
    private _apiId;
    /**
     * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer.
     */
    private _authorizerCredentialsArn?;
    /**
     * Specifies the format of the payload sent to an HTTP API Lambda authorizer.
     */
    private _authorizerPayloadFormatVersion?;
    /**
     * The time to live (TTL) for cached authorizer results, in seconds.
     */
    private _authorizerResultTtlInSeconds?;
    /**
     * The authorizer type.
     */
    private _authorizerType;
    /**
     * The authorizer's Uniform Resource Identifier (URI).
     */
    private _authorizerUri?;
    /**
     * Specifies whether a Lambda authorizer returns a response in a simple format.
     */
    private _enableSimpleResponses?;
    /**
     * The identity source for which authorization is requested.
     */
    private _identitySource?;
    /**
     * This parameter is not used.
     */
    private _identityValidationExpression?;
    /**
     * The `JWTConfiguration` property specifies the configuration of a JWT authorizer.
     */
    private _jwtConfiguration?;
    /**
     * The name of the authorizer.
     */
    private _name;
    /**
     * Create a new `AWS::ApiGatewayV2::Authorizer`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnAuthorizerProps);
    get authorizerRef(): AuthorizerReference;
    /**
     * The API identifier.
     */
    get apiId(): string;
    /**
     * The API identifier.
     */
    set apiId(value: string);
    /**
     * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer.
     */
    get authorizerCredentialsArn(): string | undefined;
    /**
     * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer.
     */
    set authorizerCredentialsArn(value: string | undefined);
    /**
     * Specifies the format of the payload sent to an HTTP API Lambda authorizer.
     */
    get authorizerPayloadFormatVersion(): string | undefined;
    /**
     * Specifies the format of the payload sent to an HTTP API Lambda authorizer.
     */
    set authorizerPayloadFormatVersion(value: string | undefined);
    /**
     * The time to live (TTL) for cached authorizer results, in seconds.
     */
    get authorizerResultTtlInSeconds(): number | undefined;
    /**
     * The time to live (TTL) for cached authorizer results, in seconds.
     */
    set authorizerResultTtlInSeconds(value: number | undefined);
    /**
     * The authorizer type.
     */
    get authorizerType(): string;
    /**
     * The authorizer type.
     */
    set authorizerType(value: string);
    /**
     * The authorizer's Uniform Resource Identifier (URI).
     */
    get authorizerUri(): string | undefined;
    /**
     * The authorizer's Uniform Resource Identifier (URI).
     */
    set authorizerUri(value: string | undefined);
    /**
     * Specifies whether a Lambda authorizer returns a response in a simple format.
     */
    get enableSimpleResponses(): boolean | cdk.IResolvable | undefined;
    /**
     * Specifies whether a Lambda authorizer returns a response in a simple format.
     */
    set enableSimpleResponses(value: boolean | cdk.IResolvable | undefined);
    /**
     * The identity source for which authorization is requested.
     */
    get identitySource(): Array<string> | undefined;
    /**
     * The identity source for which authorization is requested.
     */
    set identitySource(value: Array<string> | undefined);
    /**
     * This parameter is not used.
     */
    get identityValidationExpression(): string | undefined;
    /**
     * This parameter is not used.
     */
    set identityValidationExpression(value: string | undefined);
    /**
     * The `JWTConfiguration` property specifies the configuration of a JWT authorizer.
     */
    get jwtConfiguration(): cdk.IResolvable | CfnAuthorizer.JWTConfigurationProperty | undefined;
    /**
     * The `JWTConfiguration` property specifies the configuration of a JWT authorizer.
     */
    set jwtConfiguration(value: cdk.IResolvable | CfnAuthorizer.JWTConfigurationProperty | undefined);
    /**
     * The name of the authorizer.
     */
    get name(): string;
    /**
     * The name of the authorizer.
     */
    set name(value: string);
    /**
     * The authorizer ID.
     *
     * @cloudformationAttribute AuthorizerId
     */
    get attrAuthorizerId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnAuthorizer {
    /**
     * The `JWTConfiguration` property specifies the configuration of a JWT authorizer.
     *
     * Required for the `JWT` authorizer type. Supported only for HTTP APIs.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html
     */
    interface JWTConfigurationProperty {
        /**
         * A list of the intended recipients of the JWT.
         *
         * A valid JWT must provide an `aud` that matches at least one entry in this list. See [RFC 7519](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc7519#section-4.1.3) . Required for the `JWT` authorizer type. Supported only for HTTP APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html#cfn-apigatewayv2-authorizer-jwtconfiguration-audience
         */
        readonly audience?: Array<string>;
        /**
         * The base domain of the identity provider that issues JSON Web Tokens.
         *
         * For example, an Amazon Cognito user pool has the following format: `https://cognito-idp. {region} .amazonaws.com/ {userPoolId}` . Required for the `JWT` authorizer type. Supported only for HTTP APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html#cfn-apigatewayv2-authorizer-jwtconfiguration-issuer
         */
        readonly issuer?: string;
    }
}
/**
 * Properties for defining a `CfnAuthorizer`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html
 */
export interface CfnAuthorizerProps {
    /**
     * The API identifier.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-apiid
     */
    readonly apiId: apiGatewayV2Refs.IApiRef | string;
    /**
     * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer.
     *
     * To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for `REQUEST` authorizers.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizercredentialsarn
     */
    readonly authorizerCredentialsArn?: string;
    /**
     * Specifies the format of the payload sent to an HTTP API Lambda authorizer.
     *
     * Required for HTTP API Lambda authorizers. Supported values are `1.0` and `2.0` . To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizerpayloadformatversion
     */
    readonly authorizerPayloadFormatVersion?: string;
    /**
     * The time to live (TTL) for cached authorizer results, in seconds.
     *
     * If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizerresultttlinseconds
     */
    readonly authorizerResultTtlInSeconds?: number;
    /**
     * The authorizer type.
     *
     * Specify `REQUEST` for a Lambda function using incoming request parameters. Specify `JWT` to use JSON Web Tokens (supported only for HTTP APIs).
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizertype
     */
    readonly authorizerType: string;
    /**
     * The authorizer's Uniform Resource Identifier (URI).
     *
     * For `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2: *{account_id}* :function: *{lambda_function_name}* /invocations` . In general, the URI has this form: `arn:aws:apigateway: *{region}* :lambda:path/ *{service_api}*` , where *{region}* is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizeruri
     */
    readonly authorizerUri?: string;
    /**
     * Specifies whether a Lambda authorizer returns a response in a simple format.
     *
     * By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-enablesimpleresponses
     */
    readonly enableSimpleResponses?: boolean | cdk.IResolvable;
    /**
     * The identity source for which authorization is requested.
     *
     * For a `REQUEST` authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with `$` , for example, `$request.header.Auth` , `$request.querystring.Name` . These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .
     *
     * For `JWT` , a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example `$request.header.Authorization` .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-identitysource
     */
    readonly identitySource?: Array<string>;
    /**
     * This parameter is not used.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-identityvalidationexpression
     */
    readonly identityValidationExpression?: string;
    /**
     * The `JWTConfiguration` property specifies the configuration of a JWT authorizer.
     *
     * Required for the `JWT` authorizer type. Supported only for HTTP APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-jwtconfiguration
     */
    readonly jwtConfiguration?: cdk.IResolvable | CfnAuthorizer.JWTConfigurationProperty;
    /**
     * The name of the authorizer.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-name
     */
    readonly name: string;
}
/**
 * The `AWS::ApiGatewayV2::Deployment` resource creates a deployment for an API.
 *
 * @cloudformationResource AWS::ApiGatewayV2::Deployment
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html
 */
export declare class CfnDeployment extends cdk.CfnResource implements cdk.IInspectable, IDeploymentRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnDeployment from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDeployment;
    /**
     * Checks whether the given object is a CfnDeployment
     */
    static isCfnDeployment(x: any): x is CfnDeployment;
    /**
     * The API identifier.
     */
    private _apiId;
    /**
     * The description for the deployment resource.
     */
    private _description?;
    /**
     * The name of an existing stage to associate with the deployment.
     */
    private _stageName?;
    /**
     * Create a new `AWS::ApiGatewayV2::Deployment`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnDeploymentProps);
    get deploymentRef(): DeploymentReference;
    /**
     * The API identifier.
     */
    get apiId(): string;
    /**
     * The API identifier.
     */
    set apiId(value: string);
    /**
     * The description for the deployment resource.
     */
    get description(): string | undefined;
    /**
     * The description for the deployment resource.
     */
    set description(value: string | undefined);
    /**
     * The name of an existing stage to associate with the deployment.
     */
    get stageName(): string | undefined;
    /**
     * The name of an existing stage to associate with the deployment.
     */
    set stageName(value: string | undefined);
    /**
     * The deployment ID.
     *
     * @cloudformationAttribute DeploymentId
     */
    get attrDeploymentId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnDeployment`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html
 */
export interface CfnDeploymentProps {
    /**
     * The API identifier.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html#cfn-apigatewayv2-deployment-apiid
     */
    readonly apiId: apiGatewayV2Refs.IApiRef | string;
    /**
     * The description for the deployment resource.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html#cfn-apigatewayv2-deployment-description
     */
    readonly description?: string;
    /**
     * The name of an existing stage to associate with the deployment.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html#cfn-apigatewayv2-deployment-stagename
     */
    readonly stageName?: string;
}
/**
 * The `AWS::ApiGatewayV2::DomainName` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway).
 *
 * You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide* .
 *
 * @cloudformationResource AWS::ApiGatewayV2::DomainName
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html
 */
export declare class CfnDomainName extends cdk.CfnResource implements cdk.IInspectable, IDomainNameRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnDomainName from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDomainName;
    /**
     * Checks whether the given object is a CfnDomainName
     */
    static isCfnDomainName(x: any): x is CfnDomainName;
    static arnForDomainName(resource: IDomainNameRef): string;
    /**
     * The custom domain name for your API in Amazon API Gateway.
     */
    private _domainName;
    /**
     * The domain name configurations.
     */
    private _domainNameConfigurations?;
    /**
     * The mutual TLS authentication configuration for a custom domain name.
     */
    private _mutualTlsAuthentication?;
    /**
     * The routing mode API Gateway uses to route traffic to your APIs.
     */
    private _routingMode?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The collection of tags associated with a domain name.
     */
    private _tagsRaw?;
    /**
     * Create a new `AWS::ApiGatewayV2::DomainName`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnDomainNameProps);
    get domainNameRef(): DomainNameReference;
    /**
     * The custom domain name for your API in Amazon API Gateway.
     */
    get domainName(): string;
    /**
     * The custom domain name for your API in Amazon API Gateway.
     */
    set domainName(value: string);
    /**
     * The domain name configurations.
     */
    get domainNameConfigurations(): Array<CfnDomainName.DomainNameConfigurationProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
    /**
     * The domain name configurations.
     */
    set domainNameConfigurations(value: Array<CfnDomainName.DomainNameConfigurationProperty | cdk.IResolvable> | cdk.IResolvable | undefined);
    /**
     * The mutual TLS authentication configuration for a custom domain name.
     */
    get mutualTlsAuthentication(): cdk.IResolvable | CfnDomainName.MutualTlsAuthenticationProperty | undefined;
    /**
     * The mutual TLS authentication configuration for a custom domain name.
     */
    set mutualTlsAuthentication(value: cdk.IResolvable | CfnDomainName.MutualTlsAuthenticationProperty | undefined);
    /**
     * The routing mode API Gateway uses to route traffic to your APIs.
     */
    get routingMode(): string | undefined;
    /**
     * The routing mode API Gateway uses to route traffic to your APIs.
     */
    set routingMode(value: string | undefined);
    /**
     * The collection of tags associated with a domain name.
     */
    get tagsRaw(): Record<string, string> | undefined;
    /**
     * The collection of tags associated with a domain name.
     */
    set tagsRaw(value: Record<string, string> | undefined);
    /**
     * Represents an Amazon Resource Name (ARN).
     *
     * @cloudformationAttribute DomainNameArn
     */
    get attrDomainNameArn(): string;
    /**
     * The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name.
     *
     * @cloudformationAttribute RegionalDomainName
     */
    get attrRegionalDomainName(): string;
    /**
     * The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
     *
     * @cloudformationAttribute RegionalHostedZoneId
     */
    get attrRegionalHostedZoneId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnDomainName {
    /**
     * If specified, API Gateway performs two-way authentication between the client and the server.
     *
     * Clients must present a trusted certificate to access your API.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-mutualtlsauthentication.html
     */
    interface MutualTlsAuthenticationProperty {
        /**
         * An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3:// bucket-name / key-name` .
         *
         * The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-mutualtlsauthentication.html#cfn-apigatewayv2-domainname-mutualtlsauthentication-truststoreuri
         */
        readonly truststoreUri?: string;
        /**
         * The version of the S3 object that contains your truststore.
         *
         * To specify a version, you must have versioning enabled for the S3 bucket.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-mutualtlsauthentication.html#cfn-apigatewayv2-domainname-mutualtlsauthentication-truststoreversion
         */
        readonly truststoreVersion?: string;
    }
    /**
     * The `DomainNameConfiguration` property type specifies the configuration for an API's domain name.
     *
     * `DomainNameConfiguration` is a property of the [AWS::ApiGatewayV2::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html) resource.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html
     */
    interface DomainNameConfigurationProperty {
        /**
         * An AWS -managed certificate that will be used by the edge-optimized endpoint for this domain name.
         *
         * AWS Certificate Manager is the only supported source.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn
         */
        readonly certificateArn?: string;
        /**
         * The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatename
         */
        readonly certificateName?: string;
        /**
         * The endpoint type.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-endpointtype
         */
        readonly endpointType?: string;
        /**
         * The IP address types that can invoke the domain name.
         *
         * Use `ipv4` to allow only IPv4 addresses to invoke your domain name, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your domain name.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ipaddresstype
         */
        readonly ipAddressType?: string;
        /**
         * The Amazon resource name (ARN) for the public certificate issued by Certificate Manager .
         *
         * This ARN is used to validate custom domain ownership. It's required only if you configure mutual TLS and use either an ACM-imported or a private CA certificate ARN as the regionalCertificateArn.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ownershipverificationcertificatearn
         */
        readonly ownershipVerificationCertificateArn?: string;
        /**
         * The Transport Layer Security (TLS) version of the security policy for this domain name.
         *
         * The valid values are `TLS_1_0` and `TLS_1_2` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-securitypolicy
         */
        readonly securityPolicy?: string;
    }
}
/**
 * Properties for defining a `CfnDomainName`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html
 */
export interface CfnDomainNameProps {
    /**
     * The custom domain name for your API in Amazon API Gateway.
     *
     * Uppercase letters and the underscore ( `_` ) character are not supported.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainname
     */
    readonly domainName: string;
    /**
     * The domain name configurations.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainnameconfigurations
     */
    readonly domainNameConfigurations?: Array<CfnDomainName.DomainNameConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * The mutual TLS authentication configuration for a custom domain name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication
     */
    readonly mutualTlsAuthentication?: cdk.IResolvable | CfnDomainName.MutualTlsAuthenticationProperty;
    /**
     * The routing mode API Gateway uses to route traffic to your APIs.
     *
     * @default - "API_MAPPING_ONLY"
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-routingmode
     */
    readonly routingMode?: string;
    /**
     * The collection of tags associated with a domain name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-tags
     */
    readonly tags?: Record<string, string>;
}
/**
 * The `AWS::ApiGatewayV2::Integration` resource creates an integration for an API.
 *
 * @cloudformationResource AWS::ApiGatewayV2::Integration
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html
 */
export declare class CfnIntegration extends cdk.CfnResource implements cdk.IInspectable, IIntegrationRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnIntegration from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnIntegration;
    /**
     * Checks whether the given object is a CfnIntegration
     */
    static isCfnIntegration(x: any): x is CfnIntegration;
    /**
     * The API identifier.
     */
    private _apiId;
    /**
     * The ID of the VPC link for a private integration.
     */
    private _connectionId?;
    /**
     * The type of the network connection to the integration endpoint.
     */
    private _connectionType?;
    /**
     * Supported only for WebSocket APIs.
     */
    private _contentHandlingStrategy?;
    /**
     * Specifies the credentials required for the integration, if any.
     */
    private _credentialsArn?;
    /**
     * The description of the integration.
     */
    private _description?;
    /**
     * Specifies the integration's HTTP method type.
     */
    private _integrationMethod?;
    /**
     * Supported only for HTTP API `AWS_PROXY` integrations.
     */
    private _integrationSubtype?;
    /**
     * The integration type of an integration. One of the following:.
     */
    private _integrationType;
    /**
     * For a Lambda integration, specify the URI of a Lambda function.
     */
    private _integrationUri?;
    /**
     * Specifies the pass-through behavior for incoming requests based on the `Content-Type` header in the request, and the available mapping templates specified as the `requestTemplates` property on the `Integration` resource.
     */
    private _passthroughBehavior?;
    /**
     * Specifies the format of the payload sent to an integration.
     */
    private _payloadFormatVersion?;
    /**
     * For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
     */
    private _requestParameters?;
    /**
     * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client.
     */
    private _requestTemplates?;
    /**
     * Supported only for HTTP APIs.
     */
    private _responseParameters?;
    /**
     * The template selection expression for the integration.
     */
    private _templateSelectionExpression?;
    /**
     * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
     */
    private _timeoutInMillis?;
    /**
     * The TLS configuration for a private integration.
     */
    private _tlsConfig?;
    /**
     * Create a new `AWS::ApiGatewayV2::Integration`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnIntegrationProps);
    get integrationRef(): IntegrationReference;
    /**
     * The API identifier.
     */
    get apiId(): string;
    /**
     * The API identifier.
     */
    set apiId(value: string);
    /**
     * The ID of the VPC link for a private integration.
     */
    get connectionId(): string | undefined;
    /**
     * The ID of the VPC link for a private integration.
     */
    set connectionId(value: string | undefined);
    /**
     * The type of the network connection to the integration endpoint.
     */
    get connectionType(): string | undefined;
    /**
     * The type of the network connection to the integration endpoint.
     */
    set connectionType(value: string | undefined);
    /**
     * Supported only for WebSocket APIs.
     */
    get contentHandlingStrategy(): string | undefined;
    /**
     * Supported only for WebSocket APIs.
     */
    set contentHandlingStrategy(value: string | undefined);
    /**
     * Specifies the credentials required for the integration, if any.
     */
    get credentialsArn(): string | undefined;
    /**
     * Specifies the credentials required for the integration, if any.
     */
    set credentialsArn(value: string | undefined);
    /**
     * The description of the integration.
     */
    get description(): string | undefined;
    /**
     * The description of the integration.
     */
    set description(value: string | undefined);
    /**
     * Specifies the integration's HTTP method type.
     */
    get integrationMethod(): string | undefined;
    /**
     * Specifies the integration's HTTP method type.
     */
    set integrationMethod(value: string | undefined);
    /**
     * Supported only for HTTP API `AWS_PROXY` integrations.
     */
    get integrationSubtype(): string | undefined;
    /**
     * Supported only for HTTP API `AWS_PROXY` integrations.
     */
    set integrationSubtype(value: string | undefined);
    /**
     * The integration type of an integration. One of the following:.
     */
    get integrationType(): string;
    /**
     * The integration type of an integration. One of the following:.
     */
    set integrationType(value: string);
    /**
     * For a Lambda integration, specify the URI of a Lambda function.
     */
    get integrationUri(): string | undefined;
    /**
     * For a Lambda integration, specify the URI of a Lambda function.
     */
    set integrationUri(value: string | undefined);
    /**
     * Specifies the pass-through behavior for incoming requests based on the `Content-Type` header in the request, and the available mapping templates specified as the `requestTemplates` property on the `Integration` resource.
     */
    get passthroughBehavior(): string | undefined;
    /**
     * Specifies the pass-through behavior for incoming requests based on the `Content-Type` header in the request, and the available mapping templates specified as the `requestTemplates` property on the `Integration` resource.
     */
    set passthroughBehavior(value: string | undefined);
    /**
     * Specifies the format of the payload sent to an integration.
     */
    get payloadFormatVersion(): string | undefined;
    /**
     * Specifies the format of the payload sent to an integration.
     */
    set payloadFormatVersion(value: string | undefined);
    /**
     * For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
     */
    get requestParameters(): any | cdk.IResolvable | undefined;
    /**
     * For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
     */
    set requestParameters(value: any | cdk.IResolvable | undefined);
    /**
     * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client.
     */
    get requestTemplates(): any | cdk.IResolvable | undefined;
    /**
     * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client.
     */
    set requestTemplates(value: any | cdk.IResolvable | undefined);
    /**
     * Supported only for HTTP APIs.
     */
    get responseParameters(): any | cdk.IResolvable | undefined;
    /**
     * Supported only for HTTP APIs.
     */
    set responseParameters(value: any | cdk.IResolvable | undefined);
    /**
     * The template selection expression for the integration.
     */
    get templateSelectionExpression(): string | undefined;
    /**
     * The template selection expression for the integration.
     */
    set templateSelectionExpression(value: string | undefined);
    /**
     * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
     */
    get timeoutInMillis(): number | undefined;
    /**
     * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
     */
    set timeoutInMillis(value: number | undefined);
    /**
     * The TLS configuration for a private integration.
     */
    get tlsConfig(): cdk.IResolvable | CfnIntegration.TlsConfigProperty | undefined;
    /**
     * The TLS configuration for a private integration.
     */
    set tlsConfig(value: cdk.IResolvable | CfnIntegration.TlsConfigProperty | undefined);
    /**
     * The integration ID.
     *
     * @cloudformationAttribute IntegrationId
     */
    get attrIntegrationId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnIntegration {
    /**
     * map of response parameter lists.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparametermap.html
     */
    interface ResponseParameterMapProperty {
        /**
         * list of response parameters.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparametermap.html#cfn-apigatewayv2-integration-responseparametermap-responseparameters
         */
        readonly responseParameters?: Array<cdk.IResolvable | CfnIntegration.ResponseParameterProperty> | cdk.IResolvable;
    }
    /**
     * Supported only for HTTP APIs.
     *
     * You use response parameters to transform the HTTP response from a backend integration before returning the response to clients. Specify a key-value map from a selection key to response parameters. The selection key must be a valid HTTP status code within the range of 200-599. Response parameters are a key-value map. The key must match the pattern `<action>:<header>.<location>` or `overwrite.statuscode` . The action can be `append` , `overwrite` or `remove` . The value can be a static value, or map to response data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameter.html
     */
    interface ResponseParameterProperty {
        /**
         * Specifies the location of the response to modify, and how to modify it.
         *
         * To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameter.html#cfn-apigatewayv2-integration-responseparameter-destination
         */
        readonly destination?: string;
        /**
         * Specifies the data to update the parameter with.
         *
         * To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameter.html#cfn-apigatewayv2-integration-responseparameter-source
         */
        readonly source?: string;
    }
    /**
     * The `TlsConfig` property specifies the TLS configuration for a private integration.
     *
     * If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html
     */
    interface TlsConfigProperty {
        /**
         * If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate.
         *
         * The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html#cfn-apigatewayv2-integration-tlsconfig-servernametoverify
         */
        readonly serverNameToVerify?: string;
    }
    /**
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameterlist.html
     */
    interface ResponseParameterListProperty {
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameterlist.html#cfn-apigatewayv2-integration-responseparameterlist-responseparameters
         */
        readonly responseParameters?: Array<cdk.IResolvable | CfnIntegration.ResponseParameterProperty> | cdk.IResolvable;
    }
}
/**
 * Properties for defining a `CfnIntegration`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html
 */
export interface CfnIntegrationProps {
    /**
     * The API identifier.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-apiid
     */
    readonly apiId: apiGatewayV2Refs.IApiRef | string;
    /**
     * The ID of the VPC link for a private integration.
     *
     * Supported only for HTTP APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-connectionid
     */
    readonly connectionId?: string;
    /**
     * The type of the network connection to the integration endpoint.
     *
     * Specify `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and resources in a VPC. The default value is `INTERNET` .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-connectiontype
     */
    readonly connectionType?: string;
    /**
     * Supported only for WebSocket APIs.
     *
     * Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:
     *
     * `CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.
     *
     * `CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.
     *
     * If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-contenthandlingstrategy
     */
    readonly contentHandlingStrategy?: string;
    /**
     * Specifies the credentials required for the integration, if any.
     *
     * For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, don't specify this parameter.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-credentialsarn
     */
    readonly credentialsArn?: string;
    /**
     * The description of the integration.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-description
     */
    readonly description?: string;
    /**
     * Specifies the integration's HTTP method type.
     *
     * For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationmethod
     */
    readonly integrationMethod?: string;
    /**
     * Supported only for HTTP API `AWS_PROXY` integrations.
     *
     * Specifies the AWS service action to invoke. To learn more, see [Integration subtype reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationsubtype
     */
    readonly integrationSubtype?: string;
    /**
     * The integration type of an integration. One of the following:.
     *
     * `AWS` : for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
     *
     * `AWS_PROXY` : for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.
     *
     * `HTTP` : for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
     *
     * `HTTP_PROXY` : for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an `HTTP_PROXY` integration.
     *
     * `MOCK` : for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationtype
     */
    readonly integrationType: string;
    /**
     * For a Lambda integration, specify the URI of a Lambda function.
     *
     * For an HTTP integration, specify a fully-qualified URL.
     *
     * For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses `DiscoverInstances` to identify resources. You can use query parameters to target specific resources. To learn more, see [DiscoverInstances](https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html) . For private integrations, all resources must be owned by the same AWS account .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationuri
     */
    readonly integrationUri?: lambdaRefs.IFunctionRef | string;
    /**
     * Specifies the pass-through behavior for incoming requests based on the `Content-Type` header in the request, and the available mapping templates specified as the `requestTemplates` property on the `Integration` resource.
     *
     * There are three valid values: `WHEN_NO_MATCH` , `WHEN_NO_TEMPLATES` , and `NEVER` . Supported only for WebSocket APIs.
     *
     * `WHEN_NO_MATCH` passes the request body for unmapped content types through to the integration backend without transformation.
     *
     * `NEVER` rejects unmapped content types with an `HTTP 415 Unsupported Media Type` response.
     *
     * `WHEN_NO_TEMPLATES` allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same `HTTP 415 Unsupported Media Type` response.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-passthroughbehavior
     */
    readonly passthroughBehavior?: string;
    /**
     * Specifies the format of the payload sent to an integration.
     *
     * Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-payloadformatversion
     */
    readonly payloadFormatVersion?: string;
    /**
     * For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
     *
     * The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of `method.request. {location} . {name}` , where `{location}` is `querystring` , `path` , or `header` ; and `{name}` must be a valid and unique method request parameter name.
     *
     * For HTTP API integrations with a specified `integrationSubtype` , request parameters are a key-value map specifying parameters that are passed to `AWS_PROXY` integrations. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Working with AWS service integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html) .
     *
     * For HTTP API integrations without a specified `integrationSubtype` request parameters are a key-value map specifying how to transform HTTP requests before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location> where action can be `append` , `overwrite` or `remove` . For values, you can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requestparameters
     */
    readonly requestParameters?: any | cdk.IResolvable;
    /**
     * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client.
     *
     * The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requesttemplates
     */
    readonly requestTemplates?: any | cdk.IResolvable;
    /**
     * Supported only for HTTP APIs.
     *
     * You use response parameters to transform the HTTP response from a backend integration before returning the response to clients. Specify a key-value map from a selection key to response parameters. The selection key must be a valid HTTP status code within the range of 200-599. The value is of type [`ResponseParameterList`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameterlist.html) . To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-responseparameters
     */
    readonly responseParameters?: any | cdk.IResolvable;
    /**
     * The template selection expression for the integration.
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-templateselectionexpression
     */
    readonly templateSelectionExpression?: string;
    /**
     * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
     *
     * The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-timeoutinmillis
     */
    readonly timeoutInMillis?: number;
    /**
     * The TLS configuration for a private integration.
     *
     * If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-tlsconfig
     */
    readonly tlsConfig?: cdk.IResolvable | CfnIntegration.TlsConfigProperty;
}
/**
 * The `AWS::ApiGatewayV2::IntegrationResponse` resource updates an integration response for an WebSocket API.
 *
 * For more information, see [Set up WebSocket API Integration Responses in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html) in the *API Gateway Developer Guide* .
 *
 * @cloudformationResource AWS::ApiGatewayV2::IntegrationResponse
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html
 */
export declare class CfnIntegrationResponse extends cdk.CfnResource implements cdk.IInspectable, IIntegrationResponseRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnIntegrationResponse from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnIntegrationResponse;
    /**
     * Checks whether the given object is a CfnIntegrationResponse
     */
    static isCfnIntegrationResponse(x: any): x is CfnIntegrationResponse;
    /**
     * The API identifier.
     */
    private _apiId;
    /**
     * Supported only for WebSocket APIs.
     */
    private _contentHandlingStrategy?;
    /**
     * The integration ID.
     */
    private _integrationId;
    /**
     * The integration response key.
     */
    private _integrationResponseKey;
    /**
     * A key-value map specifying response parameters that are passed to the method response from the backend.
     */
    private _responseParameters?;
    /**
     * The collection of response templates for the integration response as a string-to-string map of key-value pairs.
     */
    private _responseTemplates?;
    /**
     * The template selection expression for the integration response.
     */
    private _templateSelectionExpression?;
    /**
     * Create a new `AWS::ApiGatewayV2::IntegrationResponse`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnIntegrationResponseProps);
    get integrationResponseRef(): IntegrationResponseReference;
    /**
     * The API identifier.
     */
    get apiId(): string;
    /**
     * The API identifier.
     */
    set apiId(value: string);
    /**
     * Supported only for WebSocket APIs.
     */
    get contentHandlingStrategy(): string | undefined;
    /**
     * Supported only for WebSocket APIs.
     */
    set contentHandlingStrategy(value: string | undefined);
    /**
     * The integration ID.
     */
    get integrationId(): string;
    /**
     * The integration ID.
     */
    set integrationId(value: string);
    /**
     * The integration response key.
     */
    get integrationResponseKey(): string;
    /**
     * The integration response key.
     */
    set integrationResponseKey(value: string);
    /**
     * A key-value map specifying response parameters that are passed to the method response from the backend.
     */
    get responseParameters(): any | cdk.IResolvable | undefined;
    /**
     * A key-value map specifying response parameters that are passed to the method response from the backend.
     */
    set responseParameters(value: any | cdk.IResolvable | undefined);
    /**
     * The collection of response templates for the integration response as a string-to-string map of key-value pairs.
     */
    get responseTemplates(): any | cdk.IResolvable | undefined;
    /**
     * The collection of response templates for the integration response as a string-to-string map of key-value pairs.
     */
    set responseTemplates(value: any | cdk.IResolvable | undefined);
    /**
     * The template selection expression for the integration response.
     */
    get templateSelectionExpression(): string | undefined;
    /**
     * The template selection expression for the integration response.
     */
    set templateSelectionExpression(value: string | undefined);
    /**
     * The integration response ID.
     *
     * @cloudformationAttribute IntegrationResponseId
     */
    get attrIntegrationResponseId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnIntegrationResponse`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html
 */
export interface CfnIntegrationResponseProps {
    /**
     * The API identifier.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-apiid
     */
    readonly apiId: apiGatewayV2Refs.IApiRef | string;
    /**
     * Supported only for WebSocket APIs.
     *
     * Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:
     *
     * `CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.
     *
     * `CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.
     *
     * If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-contenthandlingstrategy
     */
    readonly contentHandlingStrategy?: string;
    /**
     * The integration ID.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-integrationid
     */
    readonly integrationId: apiGatewayV2Refs.IIntegrationRef | string;
    /**
     * The integration response key.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-integrationresponsekey
     */
    readonly integrationResponseKey: string;
    /**
     * A key-value map specifying response parameters that are passed to the method response from the backend.
     *
     * The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of `method.response.header. *{name}*` , where name is a valid and unique header name. The mapped non-static value must match the pattern of `integration.response.header. *{name}*` or `integration.response.body. *{JSON-expression}*` , where `*{name}*` is a valid and unique response header name and `*{JSON-expression}*` is a valid JSON expression without the `$` prefix.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-responseparameters
     */
    readonly responseParameters?: any | cdk.IResolvable;
    /**
     * The collection of response templates for the integration response as a string-to-string map of key-value pairs.
     *
     * Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-responsetemplates
     */
    readonly responseTemplates?: any | cdk.IResolvable;
    /**
     * The template selection expression for the integration response.
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-templateselectionexpression
     */
    readonly templateSelectionExpression?: string;
}
/**
 * The `AWS::ApiGatewayV2::Model` resource updates data model for a WebSocket API.
 *
 * For more information, see [Model Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) in the *API Gateway Developer Guide* .
 *
 * @cloudformationResource AWS::ApiGatewayV2::Model
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html
 */
export declare class CfnModel extends cdk.CfnResource implements cdk.IInspectable, IModelRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnModel from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnModel;
    /**
     * Checks whether the given object is a CfnModel
     */
    static isCfnModel(x: any): x is CfnModel;
    /**
     * The API identifier.
     */
    private _apiId;
    /**
     * The content-type for the model, for example, "application/json".
     */
    private _contentType?;
    /**
     * The description of the model.
     */
    private _description?;
    /**
     * The name of the model.
     */
    private _name;
    /**
     * The schema for the model.
     */
    private _schema;
    /**
     * Create a new `AWS::ApiGatewayV2::Model`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnModelProps);
    get modelRef(): ModelReference;
    /**
     * The API identifier.
     */
    get apiId(): string;
    /**
     * The API identifier.
     */
    set apiId(value: string);
    /**
     * The content-type for the model, for example, "application/json".
     */
    get contentType(): string | undefined;
    /**
     * The content-type for the model, for example, "application/json".
     */
    set contentType(value: string | undefined);
    /**
     * The description of the model.
     */
    get description(): string | undefined;
    /**
     * The description of the model.
     */
    set description(value: string | undefined);
    /**
     * The name of the model.
     */
    get name(): string;
    /**
     * The name of the model.
     */
    set name(value: string);
    /**
     * The schema for the model.
     */
    get schema(): any | cdk.IResolvable;
    /**
     * The schema for the model.
     */
    set schema(value: any | cdk.IResolvable);
    /**
     * The model ID.
     *
     * @cloudformationAttribute ModelId
     */
    get attrModelId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnModel`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html
 */
export interface CfnModelProps {
    /**
     * The API identifier.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-apiid
     */
    readonly apiId: apiGatewayV2Refs.IApiRef | string;
    /**
     * The content-type for the model, for example, "application/json".
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-contenttype
     */
    readonly contentType?: string;
    /**
     * The description of the model.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-description
     */
    readonly description?: string;
    /**
     * The name of the model.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-name
     */
    readonly name: string;
    /**
     * The schema for the model.
     *
     * For application/json models, this should be JSON schema draft 4 model.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-schema
     */
    readonly schema: any | cdk.IResolvable;
}
/**
 * The `AWS::ApiGatewayV2::Route` resource creates a route for an API.
 *
 * @cloudformationResource AWS::ApiGatewayV2::Route
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html
 */
export declare class CfnRoute extends cdk.CfnResource implements cdk.IInspectable, IRouteRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnRoute from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnRoute;
    /**
     * Checks whether the given object is a CfnRoute
     */
    static isCfnRoute(x: any): x is CfnRoute;
    /**
     * The API identifier.
     */
    private _apiId;
    /**
     * Specifies whether an API key is required for the route.
     */
    private _apiKeyRequired?;
    /**
     * The authorization scopes supported by this route.
     */
    private _authorizationScopes?;
    /**
     * The authorization type for the route.
     */
    private _authorizationType?;
    /**
     * The identifier of the `Authorizer` resource to be associated with this route.
     */
    private _authorizerId?;
    /**
     * The model selection expression for the route.
     */
    private _modelSelectionExpression?;
    /**
     * The operation name for the route.
     */
    private _operationName?;
    /**
     * The request models for the route.
     */
    private _requestModels?;
    /**
     * The request parameters for the route.
     */
    private _requestParameters?;
    /**
     * The route key for the route.
     */
    private _routeKey;
    /**
     * The route response selection expression for the route.
     */
    private _routeResponseSelectionExpression?;
    /**
     * The target for the route.
     */
    private _target?;
    /**
     * Create a new `AWS::ApiGatewayV2::Route`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnRouteProps);
    get routeRef(): RouteReference;
    /**
     * The API identifier.
     */
    get apiId(): string;
    /**
     * The API identifier.
     */
    set apiId(value: string);
    /**
     * Specifies whether an API key is required for the route.
     */
    get apiKeyRequired(): boolean | cdk.IResolvable | undefined;
    /**
     * Specifies whether an API key is required for the route.
     */
    set apiKeyRequired(value: boolean | cdk.IResolvable | undefined);
    /**
     * The authorization scopes supported by this route.
     */
    get authorizationScopes(): Array<string> | undefined;
    /**
     * The authorization scopes supported by this route.
     */
    set authorizationScopes(value: Array<string> | undefined);
    /**
     * The authorization type for the route.
     */
    get authorizationType(): string | undefined;
    /**
     * The authorization type for the route.
     */
    set authorizationType(value: string | undefined);
    /**
     * The identifier of the `Authorizer` resource to be associated with this route.
     */
    get authorizerId(): string | undefined;
    /**
     * The identifier of the `Authorizer` resource to be associated with this route.
     */
    set authorizerId(value: string | undefined);
    /**
     * The model selection expression for the route.
     */
    get modelSelectionExpression(): string | undefined;
    /**
     * The model selection expression for the route.
     */
    set modelSelectionExpression(value: string | undefined);
    /**
     * The operation name for the route.
     */
    get operationName(): string | undefined;
    /**
     * The operation name for the route.
     */
    set operationName(value: string | undefined);
    /**
     * The request models for the route.
     */
    get requestModels(): any | cdk.IResolvable | undefined;
    /**
     * The request models for the route.
     */
    set requestModels(value: any | cdk.IResolvable | undefined);
    /**
     * The request parameters for the route.
     */
    get requestParameters(): any | cdk.IResolvable | undefined;
    /**
     * The request parameters for the route.
     */
    set requestParameters(value: any | cdk.IResolvable | undefined);
    /**
     * The route key for the route.
     */
    get routeKey(): string;
    /**
     * The route key for the route.
     */
    set routeKey(value: string);
    /**
     * The route response selection expression for the route.
     */
    get routeResponseSelectionExpression(): string | undefined;
    /**
     * The route response selection expression for the route.
     */
    set routeResponseSelectionExpression(value: string | undefined);
    /**
     * The target for the route.
     */
    get target(): string | undefined;
    /**
     * The target for the route.
     */
    set target(value: string | undefined);
    /**
     * The route ID.
     *
     * @cloudformationAttribute RouteId
     */
    get attrRouteId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnRoute {
    /**
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-route-parameterconstraints.html
     */
    interface ParameterConstraintsProperty {
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-route-parameterconstraints.html#cfn-apigatewayv2-route-parameterconstraints-required
         */
        readonly required: boolean | cdk.IResolvable;
    }
}
/**
 * Properties for defining a `CfnRoute`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html
 */
export interface CfnRouteProps {
    /**
     * The API identifier.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-apiid
     */
    readonly apiId: apiGatewayV2Refs.IApiRef | string;
    /**
     * Specifies whether an API key is required for the route.
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-apikeyrequired
     */
    readonly apiKeyRequired?: boolean | cdk.IResolvable;
    /**
     * The authorization scopes supported by this route.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationscopes
     */
    readonly authorizationScopes?: Array<string>;
    /**
     * The authorization type for the route.
     *
     * For WebSocket APIs, valid values are `NONE` for open access, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer. For HTTP APIs, valid values are `NONE` for open access, `JWT` for using JSON Web Tokens, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationtype
     */
    readonly authorizationType?: string;
    /**
     * The identifier of the `Authorizer` resource to be associated with this route.
     *
     * The authorizer identifier is generated by API Gateway when you created the authorizer.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizerid
     */
    readonly authorizerId?: apiGatewayV2Refs.IAuthorizerRef | string;
    /**
     * The model selection expression for the route.
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-modelselectionexpression
     */
    readonly modelSelectionExpression?: string;
    /**
     * The operation name for the route.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-operationname
     */
    readonly operationName?: string;
    /**
     * The request models for the route.
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-requestmodels
     */
    readonly requestModels?: any | cdk.IResolvable;
    /**
     * The request parameters for the route.
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-requestparameters
     */
    readonly requestParameters?: any | cdk.IResolvable;
    /**
     * The route key for the route.
     *
     * For HTTP APIs, the route key can be either `$default` , or a combination of an HTTP method and resource path, for example, `GET /pets` .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-routekey
     */
    readonly routeKey: string;
    /**
     * The route response selection expression for the route.
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-routeresponseselectionexpression
     */
    readonly routeResponseSelectionExpression?: string;
    /**
     * The target for the route.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-target
     */
    readonly target?: apiGatewayV2Refs.IIntegrationRef | string;
}
/**
 * The `AWS::ApiGatewayV2::RouteResponse` resource creates a route response for a WebSocket API.
 *
 * For more information, see [Set up Route Responses for a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-route-response.html) in the *API Gateway Developer Guide* .
 *
 * @cloudformationResource AWS::ApiGatewayV2::RouteResponse
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html
 */
export declare class CfnRouteResponse extends cdk.CfnResource implements cdk.IInspectable, IRouteResponseRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnRouteResponse from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnRouteResponse;
    /**
     * Checks whether the given object is a CfnRouteResponse
     */
    static isCfnRouteResponse(x: any): x is CfnRouteResponse;
    /**
     * The API identifier.
     */
    private _apiId;
    /**
     * The model selection expression for the route response.
     */
    private _modelSelectionExpression?;
    /**
     * The response models for the route response.
     */
    private _responseModels?;
    /**
     * The route response parameters.
     */
    private _responseParameters?;
    /**
     * The route ID.
     */
    private _routeId;
    /**
     * The route response key.
     */
    private _routeResponseKey;
    /**
     * Create a new `AWS::ApiGatewayV2::RouteResponse`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnRouteResponseProps);
    get routeResponseRef(): RouteResponseReference;
    /**
     * The API identifier.
     */
    get apiId(): string;
    /**
     * The API identifier.
     */
    set apiId(value: string);
    /**
     * The model selection expression for the route response.
     */
    get modelSelectionExpression(): string | undefined;
    /**
     * The model selection expression for the route response.
     */
    set modelSelectionExpression(value: string | undefined);
    /**
     * The response models for the route response.
     */
    get responseModels(): any | cdk.IResolvable | undefined;
    /**
     * The response models for the route response.
     */
    set responseModels(value: any | cdk.IResolvable | undefined);
    /**
     * The route response parameters.
     */
    get responseParameters(): cdk.IResolvable | Record<string, cdk.IResolvable | CfnRouteResponse.ParameterConstraintsProperty> | undefined;
    /**
     * The route response parameters.
     */
    set responseParameters(value: cdk.IResolvable | Record<string, cdk.IResolvable | CfnRouteResponse.ParameterConstraintsProperty> | undefined);
    /**
     * The route ID.
     */
    get routeId(): string;
    /**
     * The route ID.
     */
    set routeId(value: string);
    /**
     * The route response key.
     */
    get routeResponseKey(): string;
    /**
     * The route response key.
     */
    set routeResponseKey(value: string);
    /**
     * The route response ID.
     *
     * @cloudformationAttribute RouteResponseId
     */
    get attrRouteResponseId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnRouteResponse {
    /**
     * Specifies whether the parameter is required.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routeresponse-parameterconstraints.html
     */
    interface ParameterConstraintsProperty {
        /**
         * Specifies whether the parameter is required.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routeresponse-parameterconstraints.html#cfn-apigatewayv2-routeresponse-parameterconstraints-required
         */
        readonly required: boolean | cdk.IResolvable;
    }
}
/**
 * Properties for defining a `CfnRouteResponse`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html
 */
export interface CfnRouteResponseProps {
    /**
     * The API identifier.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-apiid
     */
    readonly apiId: apiGatewayV2Refs.IApiRef | string;
    /**
     * The model selection expression for the route response.
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-modelselectionexpression
     */
    readonly modelSelectionExpression?: string;
    /**
     * The response models for the route response.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-responsemodels
     */
    readonly responseModels?: any | cdk.IResolvable;
    /**
     * The route response parameters.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-responseparameters
     */
    readonly responseParameters?: cdk.IResolvable | Record<string, cdk.IResolvable | CfnRouteResponse.ParameterConstraintsProperty>;
    /**
     * The route ID.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-routeid
     */
    readonly routeId: apiGatewayV2Refs.IRouteRef | string;
    /**
     * The route response key.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-routeresponsekey
     */
    readonly routeResponseKey: string;
}
/**
 * The `AWS::ApiGatewayV2::Stage` resource specifies a stage for an API.
 *
 * Each stage is a named reference to a deployment of the API and is made available for client applications to call. To learn more, see [Working with stages for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-stages.html) and [Deploy a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-set-up-websocket-deployment.html) .
 *
 * @cloudformationResource AWS::ApiGatewayV2::Stage
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html
 */
export declare class CfnStage extends cdk.CfnResource implements cdk.IInspectable, IStageRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnStage from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnStage;
    /**
     * Checks whether the given object is a CfnStage
     */
    static isCfnStage(x: any): x is CfnStage;
    /**
     * Settings for logging access in this stage.
     */
    private _accessLogSettings?;
    /**
     * This parameter is not currently supported.
     */
    private _accessPolicyId?;
    /**
     * The API identifier.
     */
    private _apiId;
    /**
     * Specifies whether updates to an API automatically trigger a new deployment.
     */
    private _autoDeploy?;
    /**
     * The identifier of a client certificate for a `Stage` .
     */
    private _clientCertificateId?;
    /**
     * The default route settings for the stage.
     */
    private _defaultRouteSettings?;
    /**
     * The deployment identifier for the API stage.
     */
    private _deploymentId?;
    /**
     * The description for the API stage.
     */
    private _description?;
    /**
     * Route settings for the stage.
     */
    private _routeSettings?;
    /**
     * The stage name.
     */
    private _stageName;
    /**
     * A map that defines the stage variables for a `Stage` .
     */
    private _stageVariables?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The collection of tags.
     */
    private _tagsRaw?;
    /**
     * Create a new `AWS::ApiGatewayV2::Stage`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnStageProps);
    get stageRef(): StageReference;
    /**
     * Settings for logging access in this stage.
     */
    get accessLogSettings(): CfnStage.AccessLogSettingsProperty | cdk.IResolvable | undefined;
    /**
     * Settings for logging access in this stage.
     */
    set accessLogSettings(value: CfnStage.AccessLogSettingsProperty | cdk.IResolvable | undefined);
    /**
     * This parameter is not currently supported.
     */
    get accessPolicyId(): string | undefined;
    /**
     * This parameter is not currently supported.
     */
    set accessPolicyId(value: string | undefined);
    /**
     * The API identifier.
     */
    get apiId(): string;
    /**
     * The API identifier.
     */
    set apiId(value: string);
    /**
     * Specifies whether updates to an API automatically trigger a new deployment.
     */
    get autoDeploy(): boolean | cdk.IResolvable | undefined;
    /**
     * Specifies whether updates to an API automatically trigger a new deployment.
     */
    set autoDeploy(value: boolean | cdk.IResolvable | undefined);
    /**
     * The identifier of a client certificate for a `Stage` .
     */
    get clientCertificateId(): string | undefined;
    /**
     * The identifier of a client certificate for a `Stage` .
     */
    set clientCertificateId(value: string | undefined);
    /**
     * The default route settings for the stage.
     */
    get defaultRouteSettings(): cdk.IResolvable | CfnStage.RouteSettingsProperty | undefined;
    /**
     * The default route settings for the stage.
     */
    set defaultRouteSettings(value: cdk.IResolvable | CfnStage.RouteSettingsProperty | undefined);
    /**
     * The deployment identifier for the API stage.
     */
    get deploymentId(): string | undefined;
    /**
     * The deployment identifier for the API stage.
     */
    set deploymentId(value: string | undefined);
    /**
     * The description for the API stage.
     */
    get description(): string | undefined;
    /**
     * The description for the API stage.
     */
    set description(value: string | undefined);
    /**
     * Route settings for the stage.
     */
    get routeSettings(): any | cdk.IResolvable | undefined;
    /**
     * Route settings for the stage.
     */
    set routeSettings(value: any | cdk.IResolvable | undefined);
    /**
     * The stage name.
     */
    get stageName(): string;
    /**
     * The stage name.
     */
    set stageName(value: string);
    /**
     * A map that defines the stage variables for a `Stage` .
     */
    get stageVariables(): any | cdk.IResolvable | undefined;
    /**
     * A map that defines the stage variables for a `Stage` .
     */
    set stageVariables(value: any | cdk.IResolvable | undefined);
    /**
     * The collection of tags.
     */
    get tagsRaw(): any | undefined;
    /**
     * The collection of tags.
     */
    set tagsRaw(value: any | undefined);
    /**
     * The identifier.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnStage {
    /**
     * Settings for logging access in a stage.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html
     */
    interface AccessLogSettingsProperty {
        /**
         * The ARN of the CloudWatch Logs log group to receive access logs.
         *
         * This parameter is required to enable access logging.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html#cfn-apigatewayv2-stage-accesslogsettings-destinationarn
         */
        readonly destinationArn?: string;
        /**
         * A single line format of the access logs of data, as specified by selected $context variables.
         *
         * The format must include at least $context.requestId. This parameter is required to enable access logging.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html#cfn-apigatewayv2-stage-accesslogsettings-format
         */
        readonly format?: string;
    }
    /**
     * Represents a collection of route settings.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html
     */
    interface RouteSettingsProperty {
        /**
         * Specifies whether ( `true` ) or not ( `false` ) data trace logging is enabled for this route.
         *
         * This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-datatraceenabled
         */
        readonly dataTraceEnabled?: boolean | cdk.IResolvable;
        /**
         * Specifies whether detailed metrics are enabled.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-detailedmetricsenabled
         */
        readonly detailedMetricsEnabled?: boolean | cdk.IResolvable;
        /**
         * Specifies the logging level for this route: `INFO` , `ERROR` , or `OFF` .
         *
         * This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-logginglevel
         */
        readonly loggingLevel?: string;
        /**
         * Specifies the throttling burst limit.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-throttlingburstlimit
         */
        readonly throttlingBurstLimit?: number;
        /**
         * Specifies the throttling rate limit.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-throttlingratelimit
         */
        readonly throttlingRateLimit?: number;
    }
}
/**
 * Properties for defining a `CfnStage`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html
 */
export interface CfnStageProps {
    /**
     * Settings for logging access in this stage.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings
     */
    readonly accessLogSettings?: CfnStage.AccessLogSettingsProperty | cdk.IResolvable;
    /**
     * This parameter is not currently supported.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesspolicyid
     */
    readonly accessPolicyId?: string;
    /**
     * The API identifier.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-apiid
     */
    readonly apiId: string;
    /**
     * Specifies whether updates to an API automatically trigger a new deployment.
     *
     * The default value is `false` .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-autodeploy
     */
    readonly autoDeploy?: boolean | cdk.IResolvable;
    /**
     * The identifier of a client certificate for a `Stage` .
     *
     * Supported only for WebSocket APIs.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-clientcertificateid
     */
    readonly clientCertificateId?: string;
    /**
     * The default route settings for the stage.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-defaultroutesettings
     */
    readonly defaultRouteSettings?: cdk.IResolvable | CfnStage.RouteSettingsProperty;
    /**
     * The deployment identifier for the API stage.
     *
     * Can't be updated if `autoDeploy` is enabled.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-deploymentid
     */
    readonly deploymentId?: string;
    /**
     * The description for the API stage.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-description
     */
    readonly description?: string;
    /**
     * Route settings for the stage.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings
     */
    readonly routeSettings?: any | cdk.IResolvable;
    /**
     * The stage name.
     *
     * Stage names can contain only alphanumeric characters, hyphens, and underscores, or be `$default` . Maximum length is 128 characters.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagename
     */
    readonly stageName: string;
    /**
     * A map that defines the stage variables for a `Stage` .
     *
     * Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables
     */
    readonly stageVariables?: any | cdk.IResolvable;
    /**
     * The collection of tags.
     *
     * Each tag element is associated with a given resource.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-tags
     */
    readonly tags?: any;
}
/**
 * The `AWS::ApiGatewayV2::VpcLink` resource creates a VPC link.
 *
 * Supported only for HTTP APIs. The VPC link status must transition from `PENDING` to `AVAILABLE` to successfully create a VPC link, which can take up to 10 minutes. To learn more, see [Working with VPC Links for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html) in the *API Gateway Developer Guide* .
 *
 * @cloudformationResource AWS::ApiGatewayV2::VpcLink
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html
 */
export declare class CfnVpcLink extends cdk.CfnResource implements cdk.IInspectable, IVpcLinkRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnVpcLink from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnVpcLink;
    /**
     * Checks whether the given object is a CfnVpcLink
     */
    static isCfnVpcLink(x: any): x is CfnVpcLink;
    /**
     * Creates a new IVpcLinkRef from a vpcLinkId
     */
    static fromVpcLinkId(scope: constructs.Construct, id: string, vpcLinkId: string): IVpcLinkRef;
    static arnForVpcLink(resource: IVpcLinkRef): string;
    /**
     * The name of the VPC link.
     */
    private _name;
    /**
     * A list of security group IDs for the VPC link.
     */
    private _securityGroupIds?;
    /**
     * A list of subnet IDs to include in the VPC link.
     */
    private _subnetIds;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The collection of tags.
     */
    private _tagsRaw?;
    /**
     * Create a new `AWS::ApiGatewayV2::VpcLink`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnVpcLinkProps);
    get vpcLinkRef(): VpcLinkReference;
    /**
     * The name of the VPC link.
     */
    get name(): string;
    /**
     * The name of the VPC link.
     */
    set name(value: string);
    /**
     * A list of security group IDs for the VPC link.
     */
    get securityGroupIds(): Array<string> | undefined;
    /**
     * A list of security group IDs for the VPC link.
     */
    set securityGroupIds(value: Array<string> | undefined);
    /**
     * A list of subnet IDs to include in the VPC link.
     */
    get subnetIds(): Array<string>;
    /**
     * A list of subnet IDs to include in the VPC link.
     */
    set subnetIds(value: Array<string>);
    /**
     * The collection of tags.
     */
    get tagsRaw(): Record<string, string> | undefined;
    /**
     * The collection of tags.
     */
    set tagsRaw(value: Record<string, string> | undefined);
    /**
     * The VPC link ID.
     *
     * @cloudformationAttribute VpcLinkId
     */
    get attrVpcLinkId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnVpcLink`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html
 */
export interface CfnVpcLinkProps {
    /**
     * The name of the VPC link.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-name
     */
    readonly name: string;
    /**
     * A list of security group IDs for the VPC link.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-securitygroupids
     */
    readonly securityGroupIds?: Array<ec2Refs.ISecurityGroupRef | string>;
    /**
     * A list of subnet IDs to include in the VPC link.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-subnetids
     */
    readonly subnetIds: Array<ec2Refs.ISubnetRef | string>;
    /**
     * The collection of tags.
     *
     * Each tag element is associated with a given resource.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-tags
     */
    readonly tags?: Record<string, string>;
}
/**
 * Represents a routing rule.
 *
 * When the incoming request to a domain name matches the conditions for a rule, API Gateway invokes a stage of a target API. Supported only for REST APIs.
 *
 * @cloudformationResource AWS::ApiGatewayV2::RoutingRule
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routingrule.html
 */
export declare class CfnRoutingRule extends cdk.CfnResource implements cdk.IInspectable, IRoutingRuleRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnRoutingRule from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnRoutingRule;
    /**
     * Checks whether the given object is a CfnRoutingRule
     */
    static isCfnRoutingRule(x: any): x is CfnRoutingRule;
    static arnForRoutingRule(resource: IRoutingRuleRef): string;
    /**
     * The resulting action based on matching a routing rules condition.
     */
    private _actions;
    /**
     * The conditions of the routing rule.
     */
    private _conditions;
    /**
     * The ARN of the domain name.
     */
    private _domainNameArn;
    /**
     * The order in which API Gateway evaluates a rule.
     */
    private _priority;
    /**
     * Create a new `AWS::ApiGatewayV2::RoutingRule`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnRoutingRuleProps);
    get routingRuleRef(): RoutingRuleReference;
    /**
     * The resulting action based on matching a routing rules condition.
     */
    get actions(): Array<CfnRoutingRule.ActionProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * The resulting action based on matching a routing rules condition.
     */
    set actions(value: Array<CfnRoutingRule.ActionProperty | cdk.IResolvable> | cdk.IResolvable);
    /**
     * The conditions of the routing rule.
     */
    get conditions(): Array<CfnRoutingRule.ConditionProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * The conditions of the routing rule.
     */
    set conditions(value: Array<CfnRoutingRule.ConditionProperty | cdk.IResolvable> | cdk.IResolvable);
    /**
     * The ARN of the domain name.
     */
    get domainNameArn(): string;
    /**
     * The ARN of the domain name.
     */
    set domainNameArn(value: string);
    /**
     * The order in which API Gateway evaluates a rule.
     */
    get priority(): number;
    /**
     * The order in which API Gateway evaluates a rule.
     */
    set priority(value: number);
    /**
     * Represents an Amazon Resource Name (ARN).
     *
     * @cloudformationAttribute RoutingRuleArn
     */
    get attrRoutingRuleArn(): string;
    /**
     * The identifier.
     *
     * @cloudformationAttribute RoutingRuleId
     */
    get attrRoutingRuleId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnRoutingRule {
    /**
     * Represents a condition.
     *
     * Conditions can contain up to two `matchHeaders` conditions and one `matchBasePaths` conditions. API Gateway evaluates header conditions and base path conditions together. You can only use AND between header and base path conditions.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-condition.html
     */
    interface ConditionProperty {
        /**
         * The base path to be matched.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-condition.html#cfn-apigatewayv2-routingrule-condition-matchbasepaths
         */
        readonly matchBasePaths?: cdk.IResolvable | CfnRoutingRule.MatchBasePathsProperty;
        /**
         * The headers to be matched.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-condition.html#cfn-apigatewayv2-routingrule-condition-matchheaders
         */
        readonly matchHeaders?: cdk.IResolvable | CfnRoutingRule.MatchHeadersProperty;
    }
    /**
     * Represents a `MatchHeaders` condition.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-matchheaders.html
     */
    interface MatchHeadersProperty {
        /**
         * The header name and header value glob to be matched.
         *
         * The matchHeaders condition is matched if any of the header name and header value globs are matched.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-matchheaders.html#cfn-apigatewayv2-routingrule-matchheaders-anyof
         */
        readonly anyOf: Array<cdk.IResolvable | CfnRoutingRule.MatchHeaderValueProperty> | cdk.IResolvable;
    }
    /**
     * Represents a `MatchHeaderValue` .
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-matchheadervalue.html
     */
    interface MatchHeaderValueProperty {
        /**
         * The case insensitive header name to be matched.
         *
         * The header name must be less than 40 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~.` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-matchheadervalue.html#cfn-apigatewayv2-routingrule-matchheadervalue-header
         */
        readonly header: string;
        /**
         * The case sensitive header glob value to be matched against entire header value.
         *
         * The header glob value must be less than 128 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~` . Wildcard matching is supported for header glob values but must be for `*prefix-match` , `suffix-match*` , or `*infix*-match` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-matchheadervalue.html#cfn-apigatewayv2-routingrule-matchheadervalue-valueglob
         */
        readonly valueGlob: string;
    }
    /**
     * Represents a `MatchBasePaths` condition.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-matchbasepaths.html
     */
    interface MatchBasePathsProperty {
        /**
         * The string of the case sensitive base path to be matched.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-matchbasepaths.html#cfn-apigatewayv2-routingrule-matchbasepaths-anyof
         */
        readonly anyOf: Array<string>;
    }
    /**
     * Represents a routing rule action.
     *
     * The only supported action is `invokeApi` .
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-action.html
     */
    interface ActionProperty {
        /**
         * Represents an InvokeApi action.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-action.html#cfn-apigatewayv2-routingrule-action-invokeapi
         */
        readonly invokeApi: CfnRoutingRule.ActionInvokeApiProperty | cdk.IResolvable;
    }
    /**
     * Represents an InvokeApi action.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-actioninvokeapi.html
     */
    interface ActionInvokeApiProperty {
        /**
         * The API identifier of the target API.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-actioninvokeapi.html#cfn-apigatewayv2-routingrule-actioninvokeapi-apiid
         */
        readonly apiId: string;
        /**
         * The name of the target stage.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-actioninvokeapi.html#cfn-apigatewayv2-routingrule-actioninvokeapi-stage
         */
        readonly stage: string;
        /**
         * The strip base path setting.
         *
         * When true, API Gateway strips the incoming matched base path when forwarding the request to the target API.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routingrule-actioninvokeapi.html#cfn-apigatewayv2-routingrule-actioninvokeapi-stripbasepath
         */
        readonly stripBasePath?: boolean | cdk.IResolvable;
    }
}
/**
 * Properties for defining a `CfnRoutingRule`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routingrule.html
 */
export interface CfnRoutingRuleProps {
    /**
     * The resulting action based on matching a routing rules condition.
     *
     * Only InvokeApi is supported.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routingrule.html#cfn-apigatewayv2-routingrule-actions
     */
    readonly actions: Array<CfnRoutingRule.ActionProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * The conditions of the routing rule.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routingrule.html#cfn-apigatewayv2-routingrule-conditions
     */
    readonly conditions: Array<CfnRoutingRule.ConditionProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * The ARN of the domain name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routingrule.html#cfn-apigatewayv2-routingrule-domainnamearn
     */
    readonly domainNameArn: string;
    /**
     * The order in which API Gateway evaluates a rule.
     *
     * Priority is evaluated from the lowest value to the highest value. Rules can't have the same priority. Priority values 1-1,000,000 are supported.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routingrule.html#cfn-apigatewayv2-routingrule-priority
     */
    readonly priority: number;
}
export type { IApiRef, ApiReference };
export type { IApiGatewayManagedOverridesRef, ApiGatewayManagedOverridesReference };
export type { IApiMappingRef, ApiMappingReference };
export type { IAuthorizerRef, AuthorizerReference };
export type { IDeploymentRef, DeploymentReference };
export type { IDomainNameRef, DomainNameReference };
export type { IIntegrationRef, IntegrationReference };
export type { IIntegrationResponseRef, IntegrationResponseReference };
export type { IModelRef, ModelReference };
export type { IRouteRef, RouteReference };
export type { IRouteResponseRef, RouteResponseReference };
export type { IStageRef, StageReference };
export type { IVpcLinkRef, VpcLinkReference };
export type { IRoutingRuleRef, RoutingRuleReference };
