import type { EventEmitter } from '../stencil-public-runtime';
export declare const deferEvent: (event: EventEmitter) => EventEmitter;
export declare const debounceEvent: (event: EventEmitter, wait: number) => EventEmitter;
/**
 * debounce ensures that one function call is made for an event that fires multiple times.
 * @param callback to perform after waiting
 * @param wait how to long to wait before calling the function
 * @returns a debounced function to call as often as required
 */
export declare const debounce: (callback: (...args: any[]) => void, wait?: number) => (...args: any[]) => any;
/**
 * throttle delays executing a function - reducing the function calls of an event that fires multiple times.
 * @param callback to perform after a delay
 * @param delay how long to delay before calling the function
 * @returns a throttled function to call as often as required
 */
export declare const throttle: (callback: any, delay: any) => (...args: any[]) => any;
