import { type ErrorType, type Result } from '../ErrorResult.js'; import { BaseSchema } from './BaseSchema.js'; import { PublishedSchema } from './PublishedSchema.js'; import type { SchemaMigrationAction, SchemaSpecification, SchemaSpecificationUpdate, SchemaSpecificationWithMigrations } from './SchemaSpecification.js'; export declare class Schema extends BaseSchema { private cachedPublishedSchema; static createAndValidate(update: SchemaSpecificationUpdate): Result; constructor(spec: TSpec); validate(): Result; toPublishedSchema(): PublishedSchema; } export declare class SchemaWithMigrations extends Schema { static createAndValidate(update: SchemaSpecificationUpdate): Result; updateAndValidate(update: SchemaSpecificationUpdate): Result; collectMigrationActionsSinceVersion(oldSchemaVersion: number): SchemaMigrationAction[]; }