/**
* debounce - coalesce rapid calls into one trailing call after `ms` of quiet.
* Used for remote search in the async dropdowns (SvMultiSelect/GridSelect/...),
* but general-purpose. Returns the debounced function with `cancel()` (drop the
* pending call) and `flush()` (run it now). Framework-free + pure.
*/
export type Debounced = ((...args: A) => void) & {
cancel: () => void;
flush: () => void;
};
export declare function debounce(fn: (...args: A) => void, ms: number): Debounced;