import type { Authorizer, AuthorizerType } from "./Authorizer";
import type { BasePathMapping, BasePathMappingType } from "./BasePathMapping";
import type { Deployment, DeploymentType } from "./Deployment";
import type { DomainName, DomainNameType } from "./DomainName";
import type { Method, MethodType } from "./Method";
import type { Resource, ResourceType } from "./Resource";
import type { RestApi, RestApiType } from "./RestApi";
import type { Stage, StageType } from "./Stage";
import type { VpcLink, VpcLinkType } from "./VpcLink";
export * from "./Authorizer";
export * from "./BasePathMapping";
export * from "./Deployment";
export * from "./Method";
export * from "./Resource";
export * from "./RestApi";
export * from "./Stage";
export declare type ApiGatewayResourceType = AuthorizerType | BasePathMappingType | DeploymentType | DomainNameType | MethodType | ResourceType | RestApiType | StageType | VpcLinkType;
export declare type ApiGatewayResourceByType = {
    [K in AuthorizerType]: Authorizer;
} & {
    [K in BasePathMappingType]: BasePathMapping;
} & {
    [K in DeploymentType]: Deployment;
} & {
    [K in DomainNameType]: DomainName;
} & {
    [K in MethodType]: Method;
} & {
    [K in ResourceType]: Resource;
} & {
    [K in RestApiType]: RestApi;
} & {
    [K in StageType]: Stage;
} & {
    [K in VpcLinkType]: VpcLink;
};
export declare type ApiGatewayResources = ApiGatewayResourceByType[ApiGatewayResourceType];
