import commander = require("commander");
export interface iCliCommandOption {
    flags: string;
    description: string;
    default?: string | boolean;
    format?: (newValue: string, oldValue: any) => any;
}
export declare class CliCommandOption {
    flags: string;
    description: string;
    default: string | boolean | undefined;
    format: undefined | ((newValue: string, oldValue: any) => any);
    helpCallback: Function | undefined;
    constructor(opts: iCliCommandOption);
}
export declare abstract class Command {
    abstract commandString: string;
    description: string;
    isHidden: boolean;
    isDefault: boolean;
    noHelp: boolean;
    options: CliCommandOption[];
    init(program: commander.Command): void;
    action(...args: any[]): Promise<void>;
    helpCallback(...args: any[]): void;
}
