import { IConfig } from '@oclif/config'; import * as Parser from '@oclif/parser'; export declare type ICompletionContext = { args?: { [name: string]: string; }; flags?: { [name: string]: string; }; argv?: string[]; config: IConfig; }; export declare type ICompletion = { skipCache?: boolean; cacheDuration?: number; cacheKey?(ctx: ICompletionContext): Promise; options(ctx: ICompletionContext): Promise; }; export declare type IOptionFlag = Parser.flags.IOptionFlag & { completion?: ICompletion; }; export declare type IFlag = Parser.flags.IBooleanFlag | IOptionFlag; export declare type Output = Parser.flags.Output; export declare type Input = { [P in keyof T]: IFlag; }; export declare type Definition = { (options: { multiple: true; } & Partial>): IOptionFlag; (options: ({ required: true; } | { default: Parser.flags.Default; }) & Partial>): IOptionFlag; (options?: Partial>): IOptionFlag; }; export declare function build(defaults: { parse: IOptionFlag['parse']; } & Partial>): Definition; export declare function build(defaults: Partial>): Definition; export declare function option(options: { parse: IOptionFlag['parse']; } & Partial>): IOptionFlag; declare const _enum: (opts: Parser.flags.EnumFlagOptions) => IOptionFlag; export { _enum as enum }; declare const stringFlag: Definition; export { stringFlag as string }; export { boolean, integer } from '@oclif/parser/lib/flags'; export declare const version: (opts?: Partial>) => Parser.flags.IBooleanFlag; export declare const help: (opts?: Partial>) => Parser.flags.IBooleanFlag;