import { XVCheckCallback, XVTransformCallback, XVMeta, XVOptional, XVNullable, XVDefaultValue, XVDefault } from './types.js'; declare abstract class XVType { readonly _type: T; protected checks: XVCheckCallback[]; protected transforms: XVTransformCallback[]; readonly meta: XVMeta; protected abstract check(value: unknown): T; protected set(method: string, check: XVCheckCallback, args?: any): this; clone(): this; optional(): XVOptional; nullable(): XVNullable; default(value: XVDefaultValue): XVDefault; transform(cb: XVTransformCallback): this; parse(value: unknown): T | undefined | null; getDefault(): T | undefined; } export { XVType as default };