import { Schema } from 'effect'; export declare const SnapshotImpactSchema: Schema.Literals; export type SnapshotImpact = typeof SnapshotImpactSchema.Type; export declare const SnapshotSubjectKindSchema: Schema.Literals; export type SnapshotSubjectKind = typeof SnapshotSubjectKindSchema.Type; export declare const SnapshotMarkerSchema: Schema.Struct<{ readonly path: Schema.String; readonly kind: Schema.String; readonly message: Schema.String; }>; export type SnapshotMarker = typeof SnapshotMarkerSchema.Type; export declare const SnapshotTransformationSchema: Schema.Struct<{ readonly path: Schema.String; readonly name: Schema.String; }>; export type SnapshotTransformation = typeof SnapshotTransformationSchema.Type; export declare const ESchemaVersionSchema: Schema.Struct<{ readonly version: Schema.String; readonly encoded: Schema.Codec; readonly decoded: Schema.Codec; readonly transformations: Schema.$Array>; readonly unverifiable: Schema.$Array>; }>; export type ESchemaVersion = typeof ESchemaVersionSchema.Type; export declare const ESchemaDefinitionSchema: Schema.Struct<{ readonly identity: Schema.String; readonly kind: Schema.Literals; readonly idField: Schema.NullOr; readonly versions: Schema.$Array; readonly decoded: Schema.Codec; readonly transformations: Schema.$Array>; readonly unverifiable: Schema.$Array>; }>>; }>; export type ESchemaDefinition = typeof ESchemaDefinitionSchema.Type; export declare const ESchemaSnapshotSchema: Schema.Struct<{ readonly _v: Schema.Literal<"v1">; readonly kind: Schema.Literal<"eschema">; readonly root: Schema.String; readonly schemas: Schema.$Array; readonly idField: Schema.NullOr; readonly versions: Schema.$Array; readonly decoded: Schema.Codec; readonly transformations: Schema.$Array>; readonly unverifiable: Schema.$Array>; }>>; }>>; }>; export type ESchemaSnapshot = typeof ESchemaSnapshotSchema.Type; export declare const TableIndexSnapshotSchema: Schema.Struct<{ readonly name: Schema.String; readonly pk: Schema.String; readonly sk: Schema.String; }>; export type TableIndexSnapshot = typeof TableIndexSnapshotSchema.Type; export declare const TableTopologySnapshotSchema: Schema.Struct<{ readonly primary: Schema.Struct<{ readonly pk: Schema.String; readonly sk: Schema.String; }>; readonly localSecondaryIndexes: Schema.$Array>; readonly globalSecondaryIndexes: Schema.$Array>; }>; export type TableTopologySnapshot = typeof TableTopologySnapshotSchema.Type; export declare const TableEntityDerivationSnapshotSchema: Schema.Struct<{ readonly pk: Schema.$Array; readonly sk: Schema.$Array; }>; export type TableEntityDerivationSnapshot = typeof TableEntityDerivationSnapshotSchema.Type; export declare const TableAccessPatternSnapshotSchema: Schema.Struct<{ readonly pk: Schema.$Array; readonly sk: Schema.$Array; readonly name: Schema.String; readonly kind: Schema.Literals; readonly index: Schema.optional; }>; export type TableAccessPatternSnapshot = typeof TableAccessPatternSnapshotSchema.Type; export declare const TableEntitySnapshotSchema: Schema.Struct<{ readonly name: Schema.String; readonly kind: Schema.Literals; readonly schema: Schema.String; readonly idField: Schema.NullOr; readonly primary: Schema.Struct<{ readonly pk: Schema.$Array; readonly sk: Schema.$Array; }>; readonly accessPatterns: Schema.$Array; readonly sk: Schema.$Array; readonly name: Schema.String; readonly kind: Schema.Literals; readonly index: Schema.optional; }>>; }>; export type TableEntitySnapshot = typeof TableEntitySnapshotSchema.Type; export declare const TableSnapshotSchema: Schema.Struct<{ readonly _v: Schema.Literal<"v2">; readonly kind: Schema.Literal<"table">; readonly logicalName: Schema.String; readonly topology: Schema.Struct<{ readonly primary: Schema.Struct<{ readonly pk: Schema.String; readonly sk: Schema.String; }>; readonly localSecondaryIndexes: Schema.$Array>; readonly globalSecondaryIndexes: Schema.$Array>; }>; readonly entities: Schema.$Array; readonly schema: Schema.String; readonly idField: Schema.NullOr; readonly primary: Schema.Struct<{ readonly pk: Schema.$Array; readonly sk: Schema.$Array; }>; readonly accessPatterns: Schema.$Array; readonly sk: Schema.$Array; readonly name: Schema.String; readonly kind: Schema.Literals; readonly index: Schema.optional; }>>; }>>; readonly schemas: Schema.$Array; readonly idField: Schema.NullOr; readonly versions: Schema.$Array; readonly decoded: Schema.Codec; readonly transformations: Schema.$Array>; readonly unverifiable: Schema.$Array>; }>>; }>>; }>; export type TableSnapshot = typeof TableSnapshotSchema.Type; export declare const ContractSnapshotSchema: Schema.Union; readonly kind: Schema.Literal<"eschema">; readonly root: Schema.String; readonly schemas: Schema.$Array; readonly idField: Schema.NullOr; readonly versions: Schema.$Array; readonly decoded: Schema.Codec; readonly transformations: Schema.$Array>; readonly unverifiable: Schema.$Array>; }>>; }>>; }>, Schema.Struct<{ readonly _v: Schema.Literal<"v2">; readonly kind: Schema.Literal<"table">; readonly logicalName: Schema.String; readonly topology: Schema.Struct<{ readonly primary: Schema.Struct<{ readonly pk: Schema.String; readonly sk: Schema.String; }>; readonly localSecondaryIndexes: Schema.$Array>; readonly globalSecondaryIndexes: Schema.$Array>; }>; readonly entities: Schema.$Array; readonly schema: Schema.String; readonly idField: Schema.NullOr; readonly primary: Schema.Struct<{ readonly pk: Schema.$Array; readonly sk: Schema.$Array; }>; readonly accessPatterns: Schema.$Array; readonly sk: Schema.$Array; readonly name: Schema.String; readonly kind: Schema.Literals; readonly index: Schema.optional; }>>; }>>; readonly schemas: Schema.$Array; readonly idField: Schema.NullOr; readonly versions: Schema.$Array; readonly decoded: Schema.Codec; readonly transformations: Schema.$Array>; readonly unverifiable: Schema.$Array>; }>>; }>>; }>]>; export type ContractSnapshot = typeof ContractSnapshotSchema.Type; export declare const SnapshotDiagnosticSchema: Schema.Struct<{ readonly path: Schema.String; readonly kind: Schema.String; readonly message: Schema.String; }>; export type SnapshotDiagnostic = typeof SnapshotDiagnosticSchema.Type; export declare const SnapshotSubjectSchema: Schema.Struct<{ readonly kind: Schema.Literals; readonly name: Schema.optional; readonly owner: Schema.optional; readonly version: Schema.optional; }>; export type SnapshotSubject = typeof SnapshotSubjectSchema.Type; export declare const SnapshotEditSchema: Schema.Struct<{ readonly side: Schema.optional>; readonly path: Schema.$Array; readonly before: Schema.optional>; readonly after: Schema.optional>; }>; export type SnapshotEdit = typeof SnapshotEditSchema.Type; export declare const SnapshotChangeSchema: Schema.Struct<{ readonly impact: Schema.Literals; readonly subject: Schema.Struct<{ readonly kind: Schema.Literals; readonly name: Schema.optional; readonly owner: Schema.optional; readonly version: Schema.optional; }>; readonly action: Schema.Literals; readonly edits: Schema.$Array>; readonly path: Schema.$Array; readonly before: Schema.optional>; readonly after: Schema.optional>; }>>; }>; export type SnapshotChange = typeof SnapshotChangeSchema.Type; export declare class SnapshotDecodeError extends Error { readonly cause?: unknown; readonly _tag = "SnapshotDecodeError"; constructor(message: string, cause?: unknown); } export declare class SnapshotFormatRetired extends SnapshotDecodeError { readonly version: unknown; constructor(version: unknown); } export declare class SnapshotIdentityConflict extends Error { readonly identity: string; readonly _tag = "SnapshotIdentityConflict"; constructor(identity: string); } /** * Raised by table-level enforcement when a diff against the table's own * stored baseline contains a `breaking` or `unverifiable` change. The * baseline is left untouched — only a `safe` or `requires-backfill` diff * moves the frozen baseline forward. */ export declare class SnapshotIncompatible extends Error { readonly changes: readonly SnapshotChange[]; readonly _tag = "SnapshotIncompatible"; constructor(changes: readonly SnapshotChange[]); } export declare const compareStrings: (a: string, b: string) => number; export declare const stableStringify: (value: unknown) => string; //# sourceMappingURL=domain.d.ts.map