import type { ScannerDefinition } from "../scanner-definition.js"; import type { ReadHistoryOptions, ReadSignalsFilter, ScanResult, Signal } from "../types.js"; /** * Persists scanner execution outputs per (address, scannerId). * Stores one latest result plus optional bounded history depending on retention policy. */ export declare class SignalStore { private readonly stateDir; /** @param stateDir Root runtime state directory. */ constructor(stateDir: string); /** * Persists one scan result and applies retention behavior immediately. * Use this as the single write path from engine execution. */ write(result: ScanResult, definition: Pick): Promise; /** Reads the most recent persisted result for a scanner instance. */ readLatest(address: string, scannerId: string): Promise; /** Reads persisted history for a scanner instance, optionally limited to recent entries. */ readHistory(address: string, scannerId: string, opts?: ReadHistoryOptions): Promise; /** * Queries latest signals across strategy/scanner folders. * This is intended for user/tool queries and dashboard views. */ readSignals(filter?: ReadSignalsFilter): Promise; /** Loads all latest results that match filter boundaries. */ private readAllLatestResults; /** Reads line-delimited history JSON and returns empty list on file/parse errors. */ private readHistoryInternal; /** Writes the full history snapshot as JSONL atomically. */ private writeHistory; /** Resolves latest result path for a scanner instance. */ private latestPath; /** Resolves history file path for a scanner instance. */ private historyPath; } //# sourceMappingURL=signal-store.d.ts.map