import { IExecutable } from './executable';
type ThrottledFunction = (...args: any[]) => any;
type ThrottledFunctionConfig = {
    interval?: number;
};
declare class Throttle implements IExecutable {
    private readonly _calls;
    private readonly _interval;
    constructor(config?: ThrottledFunctionConfig);
    execute<TFunc extends ThrottledFunction>(config: ThrottledFunctionConfig | null, func: TFunc, ...args: Parameters<TFunc>): Promise<ReturnType<TFunc>>;
}
export { Throttle, type ThrottledFunction, type ThrottledFunctionConfig };
