import * as cdk from "@aws-cdk/core"; import * as logs from "@aws-cdk/aws-logs"; import * as route53 from "@aws-cdk/aws-route53"; import * as acm from "@aws-cdk/aws-certificatemanager"; import * as apig from "@aws-cdk/aws-apigateway"; import { Function as Fn, FunctionProps, FunctionDefinition } from "./Function"; import { Permissions } from "./util/permission"; export interface ApiGatewayV1ApiProps { readonly restApi?: apig.IRestApi | apig.RestApiProps; readonly routes?: { [key: string]: FunctionDefinition | ApiGatewayV1ApiRouteProps; }; readonly cors?: boolean; readonly accessLog?: boolean | string; readonly customDomain?: string | ApiGatewayV1ApiCustomDomainProps; readonly importedPaths?: { [path: string]: string; }; readonly defaultFunctionProps?: FunctionProps; readonly defaultAuthorizer?: apig.IAuthorizer; readonly defaultAuthorizationType?: apig.AuthorizationType; readonly defaultAuthorizationScopes?: string[]; } export interface ApiGatewayV1ApiRouteProps { readonly function: FunctionDefinition; readonly methodOptions?: apig.MethodOptions; readonly integrationOptions?: apig.LambdaIntegrationOptions; } export interface ApiGatewayV1ApiCustomDomainProps { readonly domainName: string | apig.IDomainName; readonly hostedZone?: string | route53.IHostedZone; readonly certificate?: acm.ICertificate; readonly path?: string; readonly endpointType?: apig.EndpointType; readonly mtls?: apig.MTLSConfig; readonly securityPolicy?: apig.SecurityPolicy; } export declare class ApiGatewayV1Api extends cdk.Construct { readonly restApi: apig.RestApi; accessLogGroup?: logs.LogGroup; apiGatewayDomain?: apig.DomainName; acmCertificate?: acm.Certificate | acm.DnsValidatedCertificate; private _deployment?; private _customDomainUrl?; private importedResources; private readonly functions; private readonly permissionsAttachedForAllRoutes; private readonly defaultFunctionProps?; private readonly defaultAuthorizer?; private readonly defaultAuthorizationType?; private readonly defaultAuthorizationScopes?; constructor(scope: cdk.Construct, id: string, props?: ApiGatewayV1ApiProps); get url(): string; get customDomainUrl(): string | undefined; get routes(): string[]; addRoutes(scope: cdk.Construct, routes: { [key: string]: FunctionDefinition | ApiGatewayV1ApiRouteProps; }): void; getFunction(routeKey: string): Fn | undefined; attachPermissions(permissions: Permissions): void; attachPermissionsToRoute(routeKey: string, permissions: Permissions): void; private buildCorsConfig; private buildAccessLogDestination; private buildAccessLogFormat; private createGatewayResponseForCors; private createCustomDomain; private importResources; private getResourceForPath; private addRoute; private buildRouteMethodOptions; private isInstanceOfApiRouteProps; private normalizeRouteKey; private assertDomainNameIsLowerCase; }