/**
 * Compatibility Contracts — Module barrel and factory
 *
 * Entry point for the schema versioning, validation, and migration
 * infrastructure. Use `createContractRegistry()` to obtain a fully
 * initialized registry with all domain contracts registered.
 *
 * Usage:
 * ```ts
 * import { createContractRegistry } from './contracts/index.js';
 * const { registry, contracts } = createContractRegistry();
 * const result = contracts.get('runtimeState')?.validate(rawData);
 * ```
 *
 * @module contracts
 */
export { MigrationRegistry } from './migrations/index.js';
export * from './types.js';
export * from './version.js';
export * from './validators/index.js';
import { MigrationRegistry } from './migrations/index.js';
import type { SchemaContract } from './types.js';
import type { ContractName } from './version.js';
/**
 * Creates a fully initialized contract registry with all domain migration
 * steps registered and SchemaContract instances built for each domain.
 *
 * Each SchemaContract provides:
 * - `validate(data)` — runtime shape validation returning a ValidationResult
 * - `migrate(data, fromVersion)` — migration chain execution via MigrationRegistry
 *
 * @returns An object containing:
 *   - `registry` — the MigrationRegistry with all steps registered
 *   - `contracts` — a Map of contract name → SchemaContract
 */
export declare function createContractRegistry(): {
    registry: MigrationRegistry;
    contracts: Map<ContractName, SchemaContract>;
};
//# sourceMappingURL=index.d.ts.map