/// <reference types="node" />
export declare function catchMain(p: Promise<any>): void;
export declare function eraseChars(writeStream: NodeJS.WriteStream, n: number): void;
export declare type StartTimerOptions = string | {
    name: string;
    writeStream?: NodeJS.WriteStream;
    sampleOver?: number;
    estimateTime?: boolean;
};
export declare type SetProgressOptions = {
    totalTick: number;
    initialTick?: number;
    sampleOver?: number;
    estimateTime?: boolean;
};
export declare type SetProgress = ((totalTick: number, initialTick?: number, sampleOver?: number) => void) & ((options: SetProgressOptions) => void);
export declare function startTimer(options: StartTimerOptions): {
    end: () => void;
    next(newName: string): void;
    progress: (msg: string) => void;
    setProgress: SetProgress;
    tick: (step?: number) => void;
};
