UNPKG

tiny-bin

Version:

A library for building tiny and beautiful command line apps.

20 lines (19 loc) 1.15 kB
import Addon from './addon.js'; import ChainableAction from './chainable_action.js'; import type { ArgumentOptions, CommandHandler, OptionOptions } from '../types.js'; import type { OptionInfer } from '../types.infer.js'; import type Bin from './bin.js'; import type Command from './command.js'; declare class ChainableCommandLocal<GlobalOptions, LocalOptions> extends Addon { protected command: Command; constructor(bin: Bin, command: Command); usage(usage: string): this; option<N extends string, O extends OptionOptions>(options: O & { name: N; }): ChainableCommandLocal<GlobalOptions, LocalOptions & OptionInfer<N, O>>; option<N extends string, O extends Omit<OptionOptions, 'name' | 'description'> = {}>(name: N, description: string, options?: O): ChainableCommandLocal<GlobalOptions, LocalOptions & OptionInfer<N, O>>; argument(options: ArgumentOptions): this; argument(name: string, description: string, options?: Omit<ArgumentOptions, 'name' | 'description'>): this; action(handler: CommandHandler<GlobalOptions & LocalOptions>): ChainableAction<GlobalOptions>; } export default ChainableCommandLocal;