import inquirer from "inquirer"; export interface Config { setupFile: string; commandsDirectory?: string; commandsDistDirectory?: string; plugins?: string[]; } export interface SetupConfig { commands: ICommand[]; } export declare type SetupFileExport = { setup: () => SetupConfig | SetupConfig; }; export declare type FuncOrReturn any> = Func | ReturnType; export declare type NameInput = string; export declare type DescriptionInput = string; export declare type ArgsInput = string; export declare type OptionsInput = [string, string?][]; export declare type PromptsInput = inquirer.QuestionCollection | ((inputs: {}) => inquirer.QuestionCollection | false | undefined); export declare type MessageInput = string | ((inputs: {}) => string | false | undefined); export declare type MessageBeforeHandlerInput = string | ((inputs: {}) => string | false | undefined); export declare type MessageAfterHandlerInput = string | ((inputs: {}, returnValue?: any) => string | false | undefined); declare type CommandOption = string; export interface ICommand { name: string; description: string; args: string; options: [CommandOption, string?][]; message: MessageInput; prompts: PromptsInput; messageBeforeHandler: MessageBeforeHandlerInput; messageAfterHandler: MessageAfterHandlerInput; handler(values?: {}): any; } export declare type ICommandOptions = Partial; export {};