import type { LogWatch } from '@salesforce/b2c-tooling-sdk/operations/logs'; import type { ToolExecutionContext } from '../adapter.js'; import type { ToolResolution } from '../project-context.js'; export interface LogWatchEntry { watchId: string; hostname: string; /** Buffered SDK watch; owns entries, filters and caps. */ watch: LogWatch; resolution?: ToolResolution; } export interface RegisterWatchOptions { hostname: string; watch: LogWatch; resolution?: ToolResolution; } /** Tool-facing IDs for running instance log watches: one per hostname, reaped when idle. */ export declare class LogWatchRegistry { private cleanupTimer; private readonly watches; constructor(); destroyAll(): Promise; destroyWatch(watchId: string): Promise; findByHostname(hostname: string): LogWatchEntry | undefined; getWatch(watchId: string): LogWatchEntry | undefined; getWatchOrThrow(watchId: string): LogWatchEntry; listWatches(): LogWatchEntry[]; registerWatch(options: RegisterWatchOptions): LogWatchEntry; private cleanupIdleWatches; } export declare function getLogWatchRegistry(context: ToolExecutionContext): LogWatchRegistry; export declare function getLogWatchEntry(context: ToolExecutionContext, watchId: string): LogWatchEntry;