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