import type { WatchlistFile, WatchlistSnapshotRow, EntityType } from './types.js'; export interface WatchlistDiff { added: WatchlistSnapshotRow[]; removed: WatchlistSnapshotRow[]; current: WatchlistSnapshotRow[]; } export declare class WatchlistManager { private readonly filePath; private watcher; private debounceTimer; private _onChange; constructor(filePath: string); /** Load the watchlist file. Creates empty template if missing. */ load(): WatchlistFile; /** Save the watchlist to disk. */ save(watchlist: WatchlistFile): void; /** Convert watchlist file to snapshot rows. */ toSnapshotRows(watchlist: WatchlistFile): WatchlistSnapshotRow[]; /** Diff new snapshot against stored snapshot. */ diff(stored: WatchlistSnapshotRow[], current: WatchlistSnapshotRow[]): WatchlistDiff; /** Start watching the file for changes with 500ms debounce. */ watch(storedSnapshot: WatchlistSnapshotRow[], onChange: (diff: WatchlistDiff) => void): void; /** Stop watching. */ stopWatching(): void; /** Add entries to the watchlist file. Returns the new entries as snapshot rows. */ addEntries(entries: Array<{ type: EntityType; id: string; label: string; backfill?: boolean; }>): WatchlistSnapshotRow[]; /** Remove entries from the watchlist file. Returns the removed entries. */ removeEntries(entries: Array<{ type: EntityType; id: string; }>): Array<{ type: EntityType; id: string; }>; } //# sourceMappingURL=watchlist.d.ts.map