import { Request, Response } from 'express'; import { Logger } from 'winston'; import { z } from 'zod'; import { ApiResponse, IOSchema } from './helpers'; interface ResultHandlerParams { error: Error | null; input: any; output: any; request: Request; response: Response; logger: Logger; } declare type ResultHandler = (params: ResultHandlerParams) => void | Promise; export interface ResultHandlerDefinition { getPositiveResponse: (output: OUT) => POS; getNegativeResponse: () => NEG; handler: ResultHandler | z.output>; } export declare const createResultHandler: , NEG extends ApiResponse>(definition: ResultHandlerDefinition) => ResultHandlerDefinition; export declare const defaultResultHandler: ResultHandlerDefinition; 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 {};