import { Command } from 'commander';
import { ICommandAction } from './command-actions/ICommandAction.js';

declare abstract class AbstractCommander {
    protected name: string;
    protected sleepTime: number;
    protected action: ICommandAction;
    protected logs: {
        Trigger: string;
        Run: string;
        Complated: string;
    };
    constructor(name: string, action: ICommandAction);
    protected sleep(): Promise<unknown>;
    protected wrapAction(...data: any): Promise<void>;
    protected abstract run(program: Command): Promise<any>;
}

export { AbstractCommander };
