tiny-bin
Version:
A library for building tiny and beautiful command line apps.
20 lines (19 loc) • 1.15 kB
TypeScript
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;