import type { OrderedProjectedValue } from "../../core/ordered-projected-value.js"; import type { LiveMapCommit, LiveMapDisposer, LivePath } from "../../types/livemap.types.js"; import type { LiveMapProjectedDataOp } from "./livemap.transport.js"; export type LiveMapProjectedSetWrite = Readonly<{ kind: "set"; path: LivePath; value: OrderedProjectedValue; }>; export type LiveMapProjectedReplaceWrite = Readonly<{ kind: "replace"; path: LivePath; value: OrderedProjectedValue; }>; export type LiveMapProjectedDeleteWrite = Readonly<{ kind: "delete"; path: LivePath; }>; export type LiveMapProjectedSpliceWrite = Readonly<{ kind: "splice"; path: LivePath; start: number; deleteCount: number; items: readonly OrderedProjectedValue[]; }>; export type LiveMapProjectedRenameWrite = Readonly<{ kind: "rename"; path: LivePath; from: string; to: string; }>; export type LiveMapProjectedMoveWrite = Readonly<{ kind: "move"; path: LivePath; from: number; to: number; }>; export type LiveMapProjectedPropagationWrite = LiveMapProjectedSetWrite | LiveMapProjectedReplaceWrite | LiveMapProjectedDeleteWrite | LiveMapProjectedSpliceWrite | LiveMapProjectedRenameWrite | LiveMapProjectedMoveWrite; export type LiveMapProjectedFeedEvent = Readonly<{ commit: LiveMapCommit; path: LivePath; value: OrderedProjectedValue | undefined; ops: readonly LiveMapProjectedDataOp[]; }>; export type LiveMapProjectedPropagation = Readonly<{ read: (path: LivePath) => OrderedProjectedValue | undefined; feed: (path: LivePath, listener: (event: LiveMapProjectedFeedEvent) => void) => LiveMapDisposer; commit: (ops: readonly LiveMapProjectedPropagationWrite[]) => LiveMapCommit; }>; /** Register the private carrier capability for one completed LiveMap facade. */ export declare function register_livemap_projected_propagation(map: object, propagation: LiveMapProjectedPropagation): void; /** Read the private carrier capability without widening the public LiveMap API. */ export declare function livemap_projected_propagation(map: object): LiveMapProjectedPropagation | undefined; //# sourceMappingURL=livemap.projected-propagation.d.ts.map