import { Interval } from '@f2/at';
export interface RunProcess {
    on(eventName: 'error', cb: (error: Error | string) => void): this;
    once(eventName: 'error', cb: (error: Error | string) => void): this;
    emit(eventName: 'error', error: unknown): boolean;
}
export declare class RunProcess {
    private interval;
    private _runner;
    readonly name: string;
    private _running;
    private _nextTimeout?;
    private _runnerInProgress;
    private _eventEmitter;
    constructor(interval: Interval, _runner: (next: () => void, nextNow: () => void) => Promise<void> | void, name: string);
    private runTick;
    start(): void;
    private clear;
    stop(): void;
    restart(): void;
    setInterval(interval: Interval): void;
    runNow(): void;
}
