import express from 'express'; import { ApiSpec, Method as HttpMethod } from '@api-ts/io-ts-http'; import { DecodeErrorFormatterFn, EncodeErrorFormatterFn, GetDecodeErrorStatusCodeFn, GetEncodeErrorStatusCodeFn } from '@api-ts/typed-express-router'; import { RouteHandler } from './request'; import { ResponseEncoder } from './response'; export { middlewareFn, MiddlewareChain, MiddlewareChainOutput } from './middleware'; export type { ResponseEncoder, KeyedResponseType } from './response'; export { routeHandler, ServiceFunction } from './request'; declare type CreateRouterProps = { spec: Spec; routeHandlers: { [ApiName in keyof Spec]: { [Method in keyof Spec[ApiName] & HttpMethod]: RouteHandler>; }; }; encoder?: ResponseEncoder; decodeErrorFormatter?: DecodeErrorFormatterFn; encodeErrorFormatter?: EncodeErrorFormatterFn; getDecodeErrorStatusCode?: GetDecodeErrorStatusCodeFn; getEncodeErrorStatusCode?: GetEncodeErrorStatusCodeFn; }; export declare function routerForApiSpec({ spec, routeHandlers, encoder, decodeErrorFormatter, encodeErrorFormatter, getDecodeErrorStatusCode, getEncodeErrorStatusCode, }: CreateRouterProps): import("@api-ts/typed-express-router").WrappedRouter; export declare const createServer: (spec: Spec, configureExpressApplication: (app: express.Application) => { [ApiName in keyof Spec]: { [Method in keyof Spec[ApiName] & ("get" | "post" | "put" | "delete" | "patch")]: RouteHandler>; }; }) => import("express-serve-static-core").Express; //# sourceMappingURL=index.d.ts.map