import type { EventEmitter } from "node:events"; export interface Poller extends EventEmitter { files: string[]; timeout: NodeJS.Timeout; watch: () => void; close: () => void; } export interface PollerOptions { interval?: number; recursive?: boolean; } export type PollerCallback = (err: Error | null, poll?: Poller) => void; export interface ExtendedTimeout extends NodeJS.Timeout { _idleTimeout: number; }