import type { M } from "../src/types.d.ts"; import { z } from "zod"; export declare function query(f: (() => O) & M): Result; export declare function query(f: OpClient & M, input: NoInfer): Result; type Result = { queryKey: any[]; queryFn: () => O; }; type OpClient = (input: I) => Promise; export declare function createRouteBuiler(): Builder; type Builder = { input: (i: INew) => Builder, O>; output: (i: ONew) => Builder>; query: (f: OpServer) => typeof f; mutation: (f: OpServer) => typeof f; }; type Narrow = {} extends T ? TAct : T; type Out = T | Promise; type OpServer = (input: Narrow, ctx: Context) => Out>; export {};