import { OpenAPIV3 } from 'openapi-types'; declare class Context { schemas: Record; typeLoaders: TypeLoaderFn[]; logger: Logger; constructor(logger?: Logger, typeLoaders?: TypeLoaderFn[]); } type HttpMethods = `${OpenAPIV3.HttpMethods}`; type PrimitiveType = OpenAPIV3.NonArraySchemaObjectType; type TypeValue = Function | PrimitiveType | [PrimitiveType | Function]; type Thunk = (context: Context) => T; type EnumTypeValue = string[] | number[] | Record; type Logger = { warn: (typeof console)["warn"]; }; type TypeOptions = { type?: Thunk | TypeValue; schema?: OpenAPIV3.SchemaObject; enum?: EnumTypeValue; }; type TypeLoaderFn = (context: Context, value: TypeValue, original?: Thunk | TypeValue) => Promise; export type { HttpMethods as H, Logger as L, TypeLoaderFn as T, TypeValue as a, Thunk as b, TypeOptions as c };