/**
 * MaterializeHelpers — pure functions for materialization pipelines.
 *
 * No host access. No ports. No side effects.
 */
import type WarpState from '../state/WarpState.ts';
import type SnapshotWarpState from '../snapshot/SnapshotWarpState.ts';
import type { TickReceipt } from '../../types/TickReceipt.ts';
import type StateSession from '../../orset/session/StateSession.ts';
/** Wraps materialized state in a frozen defensive copy. */
export declare function freezePublicState(state: WarpState): SnapshotWarpState;
/** Wraps state+receipts in a frozen result. */
export declare function freezeWithReceipts(state: WarpState, receipts: TickReceipt[]): {
    state: SnapshotWarpState;
    receipts: readonly TickReceipt[];
};
/** Validates and normalizes an explicit Lamport ceiling. */
export declare function normalizeExplicitCeiling(ceiling: number | null | undefined): number | null;
/** Checks whether two frontier maps are structurally equal. */
export declare function frontiersEqual(a: Map<string, string> | null, b: Map<string, string>): boolean;
/** Normalizes a frontier input to a sorted Map. */
export declare function normalizeFrontierInput(input: Map<string, string> | Record<string, string>): Map<string, string>;
/** Finds the maximum lamport tick in a patch list. */
export declare function maxLamportInPatches(patches: Array<{
    patch: {
        lamport?: number;
    };
}>): number;
type NeighborEdge = {
    neighborId: string;
    label: string;
};
export type MaterializeAdjacency = {
    outgoing: Map<string, NeighborEdge[]>;
    incoming: Map<string, NeighborEdge[]>;
};
/** Builds a deterministic adjacency map from the alive edge set. */
export declare function buildAdjacency(state: WarpState): MaterializeAdjacency;
/** Builds a deterministic adjacency map from session-backed alive sets. */
export declare function buildAdjacencyFromSession(session: StateSession): Promise<MaterializeAdjacency>;
export {};
