import * as smartrx from '@push.rocks/smartrx'; import type { IWatcher, IWatcherOptions, IWatchEvent } from './interfaces.js'; /** * Deno file watcher using native Deno.watchFs API */ export declare class DenoWatcher implements IWatcher { private options; private watcher; private watchedFiles; private _isWatching; private pendingEmits; readonly events$: smartrx.rxjs.Subject; constructor(options: IWatcherOptions); /** * Check if a file is a temporary file created by editors */ private isTemporaryFile; get isWatching(): boolean; start(): Promise; stop(): Promise; /** * Process events from the Deno watcher */ private processEvents; /** * Handle a Deno file system event - debounce and normalize */ private handleDenoEvent; /** * Emit the actual file event after debounce */ private emitFileEvent; /** * Scan directory and emit 'add' events for existing files */ private scanDirectory; /** * Safely stat a path, returning null if it doesn't exist */ private statSafe; /** * Check if a path was known to be a directory */ private isKnownDirectory; }