import { z } from 'zod'; import { Endpoint, Handler } from './endpoint'; import { ApiResponse, FlatObject, IOSchema, Merge } from './helpers'; import { Method, MethodsDefinition } from './method'; import { MiddlewareDefinition } from './middleware'; import { ResultHandlerDefinition } from './result-handler'; declare type BuildProps = { input: IN; output: OUT; handler: Handler>, z.input, mOUT>; description?: string; } & MethodsDefinition; /** mIN, mOUT - accumulated from all middlewares */ export declare class EndpointsFactory { #private; protected resultHandler: ResultHandlerDefinition; protected middlewares: MiddlewareDefinition[]; constructor(resultHandler: ResultHandlerDefinition); addMiddleware(definition: MiddlewareDefinition): EndpointsFactory, mOUT & OUT, POS, NEG>; build({ input, output, handler, description, ...rest }: BuildProps): Endpoint; } export declare const defaultEndpointsFactory: EndpointsFactory; data: import("./helpers").OutputMarker; }, "strip", z.ZodTypeAny, { data: { [x: string]: any; [x: number]: any; }; status: "success"; }, { data: { [x: string]: any; [x: number]: any; }; status: "success"; }>>, ApiResponse; error: z.ZodObject<{ message: z.ZodString; }, "strip", z.ZodTypeAny, { message: string; }, { message: string; }>; }, "strip", z.ZodTypeAny, { status: "error"; error: { message: string; }; }, { status: "error"; error: { message: string; }; }>>>; export {};