import { Alias } from './Alias'; import { App } from './App'; export interface CommandFlags { string?: string[]; boolean?: string[]; alias?: { [key: string]: string; }; default?: { [key: string]: any; }; } export interface HandlerOptions { args: Array; options: any; } export interface HandlerApp extends App { args: Array; options: any; } export interface Handler { (input: HandlerOptions | HandlerApp): any; } export interface Command { type: 'command'; flags: CommandFlags; aliases: Array; commands: Array; description?: string; handler?: Handler; }