import type { Type } from '../type'; import type * as _ from './schema'; export declare class SchemaBuilder { get str(): _.StrSchema; get num(): _.NumSchema; get bool(): _.BoolSchema; get undef(): _.ConSchema; get nil(): _.ConSchema; get arr(): _.ArrSchema<_.AnySchema, [], []>; get obj(): _.ObjSchema<[]>; get map(): _.MapSchema<_.AnySchema, _.StrSchema>; get bin(): _.BinSchema<_.AnySchema>; get any(): _.AnySchema; get fn(): _.FnSchema<_.AnySchema, _.AnySchema, unknown>; get fn$(): _.FnRxSchema<_.AnySchema, _.AnySchema, unknown>; Boolean(options?: _.NoT<_.BoolSchema>): _.BoolSchema; Number(options?: _.NoT<_.NumSchema>): _.NumSchema; String(options?: _.NoT<_.StrSchema>): _.StrSchema; Binary(type: T, options?: _.Optional>): _.BinSchema; Array(type: T, options?: Omit<_.NoT<_.ArrSchema>, 'type'>): _.ArrSchema; /** * Use TypeScript const when defining a constant value. * * @example * * ```ts * s.Const('foo' as const); * ``` */ Const(value: _.Narrow, options?: _.Optional<_.ConSchema>): _.ConSchema; Tuple(head: Head, type?: T, tail?: Tail): _.ArrSchema; Object[] | readonly _.KeySchema[]>(options: _.NoT<_.ObjSchema>): _.ObjSchema; Object[] | readonly _.KeySchema[]>(keys: _.ObjSchema['keys'], options?: _.Optional<_.ObjSchema>): _.ObjSchema; Object[] | readonly _.KeySchema[]>(...keys: _.ObjSchema['keys']): _.ObjSchema; /** Declares an object property. */ Key(key: K, value: V, options?: Omit<_.NoT<_.KeySchema>, 'key' | 'value' | 'optional'>): _.KeySchema; /** Declares an optional object property. */ KeyOpt(key: K, value: V, options?: Omit<_.NoT<_.KeySchema>, 'key' | 'value' | 'optional'>): _.OptKeySchema; Map(value: V, key?: K, options?: Omit<_.NoT<_.MapSchema>, 'value' | 'key'>): _.MapSchema; Any(options?: _.NoT<_.AnySchema>): _.AnySchema; Ref(ref: string, options?: Omit<_.NoT<_.RefSchema>, 'ref'>): _.RefSchema; Or(...types: T): _.OrSchema; Function(req: Req, res: Res, options?: Omit<_.NoT<_.FnSchema>, 'req' | 'res'>): _.FnSchema; Function$(req: Req, res: Res, options?: Omit<_.NoT<_.FnRxSchema>, 'req' | 'res'>): _.FnRxSchema; } //# sourceMappingURL=SchemaBuilder.d.ts.map