import type { MessageType } from "@canvas-js/interfaces"; import { ModelValue, PrimaryKeyValue } from "@canvas-js/modeldb"; import { AbstractGossipLog, MessageId, MessageSet } from "@canvas-js/gossiplog"; import { WriteRecord } from "./runtime/AbstractRuntime.js"; export type TransactionalRead = { version: string; value: T | null; csx: number; }; export declare class View { readonly messageLog: AbstractGossipLog; readonly root: MessageSet; protected readonly log: import("@libp2p/logger").Logger; protected readonly rootIds: string[]; protected readonly greatestRoot: string; constructor(messageLog: AbstractGossipLog, root: string[] | MessageId[] | MessageSet); get db(): import("@canvas-js/modeldb").AbstractModelDB; isAncestor(ancestor: string | MessageId): Promise; getLastValueTransactional(model: string, key: PrimaryKeyValue | PrimaryKeyValue[], recordId?: string, reverted?: Set): Promise | null>; getLastValue(recordId: string): Promise; /** this returns the greatest element of the most recent conflict set, not considering revert status */ getLatestConflictSet(recordId: string): Promise<[csx: number | null, greatestElementId: string | null]>; /** get the greatest element of a conflict set, not considering revert status */ getGreatestElement(recordId: string, csx: number): Promise; isReverted(messageId: string): Promise; }