export interface IDebounce<TReturn extends any, TArgs extends Array<any>> {
(...args: TArgs): TReturn;
dispose(): void;
}
export declare function debounce<TReturn extends any, TArgs extends Array<any>>(fn: (...args: TArgs) => TReturn, ms?: number): IDebounce<TReturn, TArgs>;