export declare type Fn = (...args: any[]) => any;
export interface Cancelable {
    cancel(): void;
    flush(): void;
}
declare function createCancelableHook<T extends Fn, O>(createFn: (fnWrapper: Fn, wait?: number, options?: O) => T & Cancelable, depFn: (wait?: number, options?: O) => any[]): (fn: T, wait?: number | undefined, options?: O | undefined, deps?: readonly any[] | undefined) => T & Cancelable;
export default createCancelableHook;
