import { Plugin } from 'vite';

interface HmrGateOptions {
    /** Use full-reload (true, default) vs granular per-module HMR (false). */
    fullReload?: boolean;
    /** Watcher events to intercept. Default: ['change']. Can include 'add', 'unlink'. */
    events?: ("change" | "add" | "unlink")[];
    /** File path substrings that bypass the gate (always emitted immediately). */
    passthrough?: string[];
}
declare function hmrGatePlugin(options?: HmrGateOptions): Plugin;

export { type HmrGateOptions, hmrGatePlugin };
