import { aws_apigateway as apigateway } from "aws-cdk-lib"; import { IInterfaceVpcEndpoint } from "aws-cdk-lib/aws-ec2"; import { Construct } from "constructs"; /** * Properties for ApiGateway * Includes all properties of RestApiProps except: endpointConfiguration, policy * This is done by intention to prevent the user from overriding the required security settings. */ export interface InternalApiGatewayProps extends apigateway.RestApiProps { /** * Stage name used for all cloudformation resource names and internal aws resource names. * @deprecated use deployOptions.stageName instead */ readonly stage?: string; /** * List of custom domains names to be used for the API Gateway. */ readonly domains: apigateway.IDomainName[]; /** * VPC endpoint id of execute-api vpc endpoint. This endpoint will be used to forward requests from the load balancer`s target group to the api gateway. */ readonly vpcEndpoint: IInterfaceVpcEndpoint; /** * Path for custom domain base path mapping that will be attached to the api gateway */ readonly apiBasePathMappingPath?: string; } export declare abstract class InternalApiGateway extends Construct { /** * Internal API Gateway * This private api gateway is used to serve internal solutions (websites, apis, applications). * Attach your methods to this api gateway. * It is not exposed to the internet. * It is only accessible from the load balancer`s target group. */ protected readonly apiGateway: apigateway.LambdaRestApi; constructor(scope: Construct, id: string, props: InternalApiGatewayProps); }