import { type DecodeContext, type RTError, Type } from './type.js'; import { type Result } from './utils.js'; export declare class LazyType extends Type { def: () => Type; type?: Type; private _printing; constructor(def: () => Type); print(): string; decode(u: unknown, opts: DecodeContext): Result; validate(v: T, opts: DecodeContext): Promise>; validateSync(v: T, opts: DecodeContext): Result; deepMap(fn: (t: Type) => Type): Type; } export declare function lazy(def: () => Type): LazyType;