import type * as fastify from "fastify";
import { Endpoint, JsonRequestData, RouteDefinition } from "../types.js";
import { ApplicationMethod } from "./method.js";
export type FastifyHandler<E extends Endpoint> = fastify.RouteHandlerMethod<fastify.RawServerDefault, fastify.RawRequestDefaultExpression<fastify.RawServerDefault>, fastify.RawReplyDefaultExpression<fastify.RawServerDefault>, {
    Body: E["request"] extends JsonRequestData ? E["request"]["body"] : undefined;
    Querystring: E["request"]["query"];
    Params: E["request"]["params"];
    Headers: E["request"]["headers"];
}, fastify.ContextConfigDefault>;
export declare function createFastifyHandler<E extends Endpoint>(definition: RouteDefinition<E>, method: ApplicationMethod<E>, _operationId: string): FastifyHandler<E>;
//# sourceMappingURL=handler.d.ts.map