import type { HeaderMap, HTTPGraphQLRequest, HTTPGraphQLResponse } from '@apollo/server'; export interface RequestHandler { fromEvent: (event: EventType) => HTTPGraphQLRequest; toSuccessResult: (response: HTTPGraphQLResponse) => ResultType; toErrorResult: (error: unknown) => ResultType; } export type RequestHandlerEvent> = T extends RequestHandler ? EventType : never; export type RequestHandlerResult> = T extends RequestHandler ? ResultType : never; export type EventParser = { parseHttpMethod: (event: EventType) => string; parseQueryParams: (event: EventType) => string; parseHeaders: (event: EventType) => HeaderMap; parseBody: (event: EventType, headers: HeaderMap) => string; } | ((event: EventType) => HTTPGraphQLRequest); export type ResultGenerator = { success: (response: HTTPGraphQLResponse) => ResultType; error: (error: unknown) => ResultType; }; export declare function createRequestHandler(eventParser: EventParser, resultGenerator: ResultGenerator): RequestHandler; //# sourceMappingURL=_create.d.ts.map