UNPKG

@newos/cli

Version:
43 lines 1.41 kB
import { Command } from 'commander'; import { Choice } from './prompts/choices'; export declare function generateSignature(name: string, args: Arg[]): string; export interface ParamDetails { prompt?: string; promptType?: 'confirm' | 'list' | 'input'; choices?: readonly Choice[]; preselect?: string | boolean; validationError?: (value: string | boolean) => string | undefined; } declare type Param = ParamSimple | ParamVariadic; interface ParamSimple { variadic?: false; details?: (params: object) => Promise<ParamDetails | undefined>; after?: (params: object) => Promise<void>; } interface ParamVariadic { variadic: true; details?: (params: object) => Promise<ParamDetails[]>; after?: (params: object) => Promise<void>; } export declare type Arg = Param & { name: string; }; export interface Option extends ParamSimple { format: string; description: string; default?: string | boolean; } declare type AbortFunction = () => Promise<void>; interface Action { action: (params: object) => Promise<void>; preAction?: (params: object) => Promise<void | AbortFunction>; } interface CommandSpec { name: string; description: string; args: Arg[]; options: Option[]; } export declare function register(program: Command, spec: CommandSpec, getAction: () => Promise<Action>): void; export {}; //# sourceMappingURL=register-command.d.ts.map