import { HttpRouteIntegration } from "@aws-cdk/aws-apigatewayv2-alpha"; import { Construct } from "constructs"; import { Api, ApiFunctionRouteProps, ApiProps } from "./Api.js"; import { Function as Fn, FunctionDefinition } from "./Function.js"; export interface GraphQLApiProps extends Omit { /** * Path to graphql-codegen configuration file * * @example * ```js * new GraphQLApi(stack, "api", { * codegen: "./graphql/codegen.yml" * }) * ``` */ codegen?: string; /** * Path to function that will be invoked to resolve GraphQL queries. * * @example * ```js * new GraphQLApi(stack, "api", { * codegen: "./graphql/codegen.yml" * }) * ``` */ server: FunctionDefinition; rootPath?: string; } /** * The `GraphQLApi` construct is a higher level CDK construct that makes it easy to create GraphQL servers with AWS Lambda. * * @example * * ```js * import { GraphQLApi } from "@serverless-stack/resources"; * * new GraphQLApi(stack, "Api", { * server: "src/graphql.handler", * }); * ``` */ export declare class GraphQLApi extends Api { private readonly codegen?; private lambdaIntegration?; private rootPath?; constructor(scope: Construct, id: string, props: GraphQLApiProps); get serverFunction(): Fn; protected createFunctionIntegration(scope: Construct, routeKey: string, routeProps: ApiFunctionRouteProps, postfixName: string): HttpRouteIntegration; getConstructMetadata(): { data: { graphql: true; codegen: string | undefined; url: string | undefined; httpApiId: string; customDomainUrl: string | undefined; routes: ({ type: "function"; route: string; fn: { node: string; stack: string; } | undefined; schema?: undefined; output?: undefined; commands?: undefined; } | { type: "pothos"; route: string; fn: { node: string; stack: string; } | undefined; schema: string | undefined; output: string | undefined; commands: string[] | undefined; } | { type: "graphql"; route: string; fn: { node: string; stack: string; } | undefined; schema: string | undefined; output: string | undefined; commands: string[] | undefined; } | { type: "url" | "alb" | "lambda_function"; route: string; fn?: undefined; schema?: undefined; output?: undefined; commands?: undefined; })[]; }; type: "Api"; }; }