/**
 * Immutable snapshot builders for public read-side returns.
 *
 * Snapshot construction is source-specific. This module does not preserve
 * unsupported class instances, clone prototypes, or reconstruct objects by
 * copying descriptors.
 *
 * @module domain/services/ImmutableSnapshot
 */
import type ORSet from '../crdt/ORSet.ts';
import { TickReceipt } from '../types/TickReceipt.ts';
import ImmutableBytes from './snapshot/ImmutableBytes.ts';
import SnapshotORSet from './snapshot/SnapshotORSet.ts';
import type { SnapshotPropValue } from './snapshot/SnapshotPropValue.ts';
import SnapshotVersionVector from './snapshot/SnapshotVersionVector.ts';
import SnapshotWarpState from './snapshot/SnapshotWarpState.ts';
import type { PropValue } from '../types/PropValue.ts';
import type VersionVector from '../crdt/VersionVector.ts';
import WarpState from './state/WarpState.ts';
export declare function createSnapshotPropValue(source: PropValue): SnapshotPropValue;
export declare function createSnapshotPropertyValues(source: {
    readonly [key: string]: PropValue;
}): Readonly<{
    [key: string]: SnapshotPropValue;
}>;
export declare function createSnapshotORSet(value: ORSet): SnapshotORSet;
export declare function createSnapshotVersionVector(value: VersionVector): SnapshotVersionVector;
export declare function createSnapshotWarpState(state: WarpState): SnapshotWarpState;
/**
 * Create a detached, immutable public snapshot of a WarpState instance.
 */
export declare function createImmutableWarpStateSnapshot(state: WarpState): SnapshotWarpState;
/**
 * Create a detached, frozen public snapshot of materialization receipts.
 */
export declare function createImmutableTickReceiptArraySnapshot(receipts: readonly TickReceipt[]): readonly TickReceipt[];
export { ImmutableBytes, SnapshotORSet, SnapshotVersionVector, SnapshotWarpState };
export type { SnapshotPropValue };
