UNPKG

1.99 kBTypeScriptView Raw
1import { IConfig } from '@oclif/config';
2import * as Parser from '@oclif/parser';
3export declare type ICompletionContext = {
4 args?: {
5 [name: string]: string;
6 };
7 flags?: {
8 [name: string]: string;
9 };
10 argv?: string[];
11 config: IConfig;
12};
13export declare type ICompletion = {
14 skipCache?: boolean;
15 cacheDuration?: number;
16 cacheKey?(ctx: ICompletionContext): Promise<string>;
17 options(ctx: ICompletionContext): Promise<string[]>;
18};
19export declare type IOptionFlag<T> = Parser.flags.IOptionFlag<T> & {
20 completion?: ICompletion;
21};
22export declare type IFlag<T> = Parser.flags.IBooleanFlag<T> | IOptionFlag<T>;
23export declare type Output = Parser.flags.Output;
24export declare type Input<T extends Output> = {
25 [P in keyof T]: IFlag<T[P]>;
26};
27export declare type Definition<T> = {
28 (options: {
29 multiple: true;
30 } & Partial<IOptionFlag<T[]>>): IOptionFlag<T[]>;
31 (options: ({
32 required: true;
33 } | {
34 default: Parser.flags.Default<T>;
35 }) & Partial<IOptionFlag<T>>): IOptionFlag<T>;
36 (options?: Partial<IOptionFlag<T>>): IOptionFlag<T | undefined>;
37};
38export declare function build<T>(defaults: {
39 parse: IOptionFlag<T>['parse'];
40} & Partial<IOptionFlag<T>>): Definition<T>;
41export declare function build(defaults: Partial<IOptionFlag<string>>): Definition<string>;
42export declare function option<T>(options: {
43 parse: IOptionFlag<T>['parse'];
44} & Partial<IOptionFlag<T>>): IOptionFlag<T | undefined>;
45declare const _enum: <T = string>(opts: Parser.flags.EnumFlagOptions<T>) => IOptionFlag<T>;
46export { _enum as enum };
47declare const stringFlag: Definition<string>;
48export { stringFlag as string };
49export { boolean, integer } from '@oclif/parser/lib/flags';
50export declare const version: (opts?: Partial<Parser.flags.IBooleanFlag<boolean>>) => Parser.flags.IBooleanFlag<void>;
51export declare const help: (opts?: Partial<Parser.flags.IBooleanFlag<boolean>>) => Parser.flags.IBooleanFlag<void>;