import { type BuildOptions } from "../src/index.js";
/**
 * Options for the file watcher
 */
export interface WatchOptions extends BuildOptions {
    /**
     * Debounce delay in milliseconds for batching file changes
     */
    debounce: number;
    /**
     * Whether to show verbose file change events
     */
    verbose: boolean;
}
/**
 * File system watcher for WGSL template files
 */
export declare class TemplateWatcher {
    private readonly options;
    private readonly debouncer;
    private readonly watchers;
    private isBuilding;
    constructor(options: WatchOptions);
    /**
     * Start watching the source directories for changes
     */
    start(): Promise<void>;
    /**
     * Stop watching and clean up resources
     */
    stop(): Promise<void>;
    /**
     * Set up file system watchers recursively
     */
    private setupWatchers;
    /**
     * Handle file system changes
     */
    private handleFileChange;
    /**
     * Run the build process
     */
    private runBuild;
}
//# sourceMappingURL=watcher.d.ts.map