export type Cancellable<T extends (...args: any[]) => void> = {
    (...args: Parameters<T>): void;
    /**
     * Cancel the next scheduled invocation of the callback.
     */
    cancel(): void;
};
/**
 * Returns a throttled function which runs once per rendered frame using
 * requestAnimationFrame. If window.requestAnimationFrame does not exist,
 * the behavior will be approximated using setTimeout.
 *
 * @param callback the function to be throttled
 */
export declare const throttle: <T extends (...args: any[]) => void>(callback: T) => Cancellable<T>;
