import { program, Command } from 'commander'; type RegisterOptions = { flags: string; description: string; defaultValue?: string | boolean; }; type CMDProperties = { description: string; options?: RegisterOptions[]; args?: { flags: string; description: string; }[]; action?: ActionFn; }; type ActionFn = Parameters[0]; declare class Commander { private STATE; program: Command; private pkg; private cmdSet; constructor(); registerCommand({ name, description, args, options, }: CMDProperties & { name: string; }): void; bindAction(name: string, fn: ActionFn): void; parse(): void; } export default Commander;