import { OpenAPIV3 } from 'openapi-types'; import { Arrayable } from 'type-fest'; declare class Context { schemas: Record; typeLoaders: TypeLoaderFn[]; logger: Logger; constructor(logger?: Logger, typeLoaders?: TypeLoaderFn[]); } type OpenAPIDocument = OpenAPIV3.Document; type HttpMethods = `${OpenAPIV3.HttpMethods}`; type PrimitiveType = OpenAPIV3.NonArraySchemaObjectType; type TypeValue = Arrayable; 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 { Context as C }; export type { EnumTypeValue as E, HttpMethods as H, Logger as L, OpenAPIDocument as O, PrimitiveType as P, TypeOptions as T, TypeLoaderFn as a, TypeValue as b, Thunk as c };