import type { ArgumentsCamelCase, BuilderCallback } from 'yargs';
export type Prettify<T> = {
    [K in keyof T]: T[K];
} & unknown;
export type CommandEvents = {
    sigInt?: (fn: () => void) => void;
};
export type Command<T extends object = {
    [argName: string]: unknown;
}> = {
    cmd: string;
    title: string;
    description: string;
    builder?: BuilderCallback<T, T>;
    command: (argv: Prettify<ArgumentsCamelCase<T & {
        startDate: Date;
    }>>, on?: CommandEvents) => void | Promise<void>;
};
export declare const intervalReadable: (sec: number, short?: boolean) => string;
export declare const totalTimeReadable: (startDate: Date, short?: boolean) => string;
