import { Schema, CheckFunction, CheckType, CheckObject } from "./Schema"; export declare class SchemaBuilder { private schema; constructor(schema: Schema); static Create(): SchemaBuilder<{}, Desired>; private createFields(key, field); private copyWithField(key, field); add(key: K, field: CheckType): SchemaBuilder; add(key: K, field: CheckObject): SchemaBuilder; optional(key: K, check: CheckFunction | Schema): SchemaBuilder; allowExtraFields(): SchemaBuilder; check(this: SchemaBuilder, check: (name: string, target: T) => Promise): SchemaBuilder; build(this: SchemaBuilder): Schema; private unionAllowExtraFields(other); private unionCheck(other); private unionFields(other); union(other: Schema): SchemaBuilder; partialUnion(other: Schema): SchemaBuilder, Desired>; remove(key: K): SchemaBuilder; }