@manuth/generator-wsc-package
Version:
A Generator for WoltLab Suite Core Packages.
59 lines (58 loc) • 1.77 kB
TypeScript
/// <reference types="node" resolution-mode="require"/>
import { ReadLine } from "node:readline";
import { NestedPrompt } from "@manuth/generator-ts-project";
import { Answers } from "inquirer";
import { IApplicationQuestion } from "./IApplicationQuestion.js";
import { IApplicationQuestionOptions } from "./IApplicationQuestionOptions.js";
import { IWoltLabApplication } from "./IWoltLabApplication.js";
declare module "inquirer" {
/**
* @inheritdoc
*/
interface QuestionMap<T> {
/**
* Represents the application-prompt.
*/
[ApplicationPrompt.TypeName]: IApplicationQuestion<T>;
}
}
/**
* Provides a prompt for asking for a WoltLab-application.
*
* @template T
* The type of the prompt-options.
*/
export declare class ApplicationPrompt<T extends IApplicationQuestionOptions> extends NestedPrompt<T> {
/**
* Gets the name of this prompt-type.
*/
static readonly TypeName = "wcf-application";
/**
* Initializes a new instance of the {@link ApplicationPrompt `ApplicationPrompt<T>`} class.
*
* @param question
* The options for the prompt.
*
* @param readLine
* An object for reading from and writing to the console.
*
* @param answers
* The answer-object.
*/
constructor(question: T, readLine: ReadLine, answers: Answers);
/**
* Gets the applications which are listed as suggestions.
*/
protected get SuggestedApplications(): IWoltLabApplication[];
/**
* Gets the default application.
*/
protected get DefaultApplication(): IWoltLabApplication;
/**
* @inheritdoc
*
* @returns
* The value to save to the answer-hash.
*/
protected Prompt(): Promise<any>;
}