import { Effect } from 'effect'; import type { DraftDefinition, ESchemaDescriptor, Evolution, Prettify, StructFieldsDecoded, StructFieldsEncoded, StructFieldsSchema } from '../schema-model/index.js'; import { ESchemaError } from '../eschema-error/index.js'; import { type ESchemaKind } from '../introspection/index.js'; export declare function makeObjectSchemaRuntime(input: { readonly owner: object; readonly name: string; readonly kind: Exclude; readonly idField: string | null; readonly latestVersion: TVersion; readonly evolutions: readonly Evolution[]; }): { readonly fields: () => TLatest; readonly decode: (value: unknown) => Effect.Effect>, ESchemaError>; readonly encode: (value: StructFieldsDecoded) => Effect.Effect> & { readonly _v: TVersion; }, ESchemaError>; readonly descriptor: () => ESchemaDescriptor; }; /** * Wraps the base runtime with a draft overlay. Decode folds through every * published migration as usual, then applies the draft's forward migration. * Encode applies the draft's backward migration first, then encodes and * stamps `_v` against the last published evolution — persisted bytes never * move while a draft is in place. */ export declare function makeDraftedObjectSchemaRuntime(input: { readonly owner: object; readonly name: string; readonly kind: Exclude; readonly idField: string | null; readonly latestVersion: TVersion; readonly evolutions: readonly Evolution[]; readonly draft: DraftDefinition; }): { readonly fields: () => TLatest; readonly decode: (value: unknown) => Effect.Effect>, ESchemaError>; readonly encode: (value: StructFieldsDecoded) => Effect.Effect> & { readonly _v: TVersion; }, ESchemaError>; readonly descriptor: () => ESchemaDescriptor; }; //# sourceMappingURL=object-schema-runtime.d.ts.map