import type { ApolloServer, BaseContext, ContextFunction } from '@apollo/server'; import type { WithRequired } from '@apollo/utils.withrequired'; import type { Context, Handler } from 'aws-lambda'; import type { MiddlewareFn } from './middleware'; import type { RequestHandler, RequestHandlerEvent, RequestHandlerResult } from './request-handlers/_create'; export interface LambdaContextFunctionArgument> { event: RH extends RequestHandler ? EventType : never; context: Context; } export interface LambdaHandlerOptions, TContext extends BaseContext> { middleware?: Array>; context?: ContextFunction<[LambdaContextFunctionArgument], TContext>; } export type LambdaHandler> = Handler, RequestHandlerResult>; export declare function startServerAndCreateLambdaHandler>(server: ApolloServer, handler: RH, options?: LambdaHandlerOptions): LambdaHandler; export declare function startServerAndCreateLambdaHandler, TContext extends BaseContext>(server: ApolloServer, handler: RH, options: WithRequired, 'context'>): LambdaHandler; //# sourceMappingURL=lambdaHandler.d.ts.map