import { ScalarObject } from "@zouloux/ecma-core"; declare type TShortcutOptions = { argumentIndex: number; shortcuts: string[]; }; declare type TAskListOptions = TShortcutOptions & { defaultIndex: number | string; returnType: "all" | "key" | "value" | "index"; }; declare type TAskInputOptions = TShortcutOptions & { defaultValue: any; isNumber: boolean; notEmpty: boolean; }; /** * Ask list of choices to CLI. * @param message Question asked to CLI. Can be nice printed (@see nicePrint) * @param choices List of available choices as an object with named keys. Value as "---" to add a separator. * @param options * | argumentIndex : Index of argument to catch value from. * | shortcuts : Accepted shortcuts for arguments. ex: ['type', 't'] for --type / -t * | defaultIndex : Default choice index (number if choices is an array, key as string otherwise) */ export declare function askList(message: string, choices: ScalarObject | string[], options?: Partial): Promise; /** * Ask a free input to CLI. * Input can be string or number * @param message Question asked to CLI. Can be nice printed (@see nicePrint) * @param options * | argumentIndex : Index of argument to catch value from. * | shortcuts : Accepted shortcuts for arguments. ex: ['type', 't'] for --type / -t * | isNumber : Force input to be a number. Returned value will be typed number and not string. * | notEmpty : Will force input to be non empty string and not NaN if number. Will repeat until form is filled. * | defaultValue : Default value if user just hit enter. * @returns {Promise} */ export declare function askInput(message: any, options?: Partial): Promise; export {};