import type { AgentConfig } from './agent'; export interface AgentFileChangeEvent { readonly filePath: string; readonly config: AgentConfig | null; readonly previousId?: string; readonly error?: string; } export type AgentFileChangeHandler = (event: AgentFileChangeEvent) => void | Promise; type PartialFileChangeHandler = (partialName: string, filePath: string) => void | Promise; interface AgentFileWatcherOptions { debounceMs?: number; partialDirs?: string[]; onPartialChanged?: PartialFileChangeHandler; } export declare class AgentFileWatcher { private readonly dirs; private readonly basePath; private readonly onFileChanged; private watchers; private debounceTimers; private knownAgentIds; private readonly debounceMs; private readonly partialDirs; private readonly onPartialChanged?; constructor(dirs: string[], basePath: string, onFileChanged: AgentFileChangeHandler, options?: AgentFileWatcherOptions); start(): void; registerKnownAgent(filePath: string, agentId: string): void; close(): void; private scheduleReload; private schedulePartialReload; private handleFileChange; private handlePartialChange; } export {}; //# sourceMappingURL=file-watcher.d.ts.map