import type { ForbidUndefinedValue, NextVersion, ValueEvolution, ValueSchema, ValueSchemaDecoded } from '../domain/schema-model/index.js'; import type { ValueESchema } from './value-eschema.js'; import { DraftedValueESchemaBuilder } from './drafted-value-eschema-builder.js'; export declare class ValueESchemaBuilder { private readonly name; private readonly evolutions; readonly version: TVersion; private readonly finish; constructor(name: string, evolutions: readonly ValueEvolution[], version: TVersion, finish: (version: V, evolutions: readonly ValueEvolution[]) => ValueESchema); evolve, S extends ValueSchema>(version: V, schema: S & ForbidUndefinedValue, migration: (previous: ValueSchemaDecoded) => ValueSchemaDecoded): ValueESchemaBuilder; draft(schema: S & ForbidUndefinedValue, migrations: { readonly forward: (previous: ValueSchemaDecoded) => ValueSchemaDecoded; readonly backward: (draft: ValueSchemaDecoded) => ValueSchemaDecoded; }): DraftedValueESchemaBuilder; build(): ValueESchema; } //# sourceMappingURL=value-eschema-builder.d.ts.map