import type { MaterializerStore } from "./store.js"; export interface SnapshotSeam { /** Block the snapshot is consistent to — the watch's tail covers snapshotBlock+1.. */ snapshotBlock: number; /** Chain head as the indexer sees it */ headBlock: number; } export interface MarketsSnapshotResult extends SnapshotSeam { /** Lowercased pool addresses of the hydrated markets — the watch's book set */ pools: string[]; /** Lowercased BinaryMarket contract addresses — the watch's status-event set */ marketAddresses: string[]; } /** * Hydrate a market watch scope: the market rows, their recent fills, and their * full resting open-order set (the local live book's starting depth), merged * into the store. `scope` is a pool-address list, or `"all"` for every market * the indexer knows (the all-markets watch). */ export declare function loadMarketsSnapshot(chainId: number, scope: string[] | "all", deps: { indexerUrl: string; store: MaterializerStore; }): Promise; /** * Hydrate a user watch scope: the account's past fills (as maker or taker) and * orders across ALL markets, merged into the store — so the user-scoped live * reads have history predating the watch. Live events are attributed to every * account regardless; this only supplies the past. */ export declare function loadUserSnapshot(chainId: number, user: string, deps: { indexerUrl: string; store: MaterializerStore; }): Promise;