export class StubPromptGateway {
    textAnswers = [];
    confirmAnswers = [];
    choiceAnswers = [];
    multiSelectAnswers = [];
    queueText(value) {
        this.textAnswers.push(value);
    }
    queueConfirm(value) {
        this.confirmAnswers.push(value);
    }
    queueChoice(value) {
        this.choiceAnswers.push(value);
    }
    queueMultiSelect(values) {
        this.multiSelectAnswers.push(values);
    }
    async askText(_prompt, defaultValue) {
        const next = this.textAnswers.shift();
        if (next !== undefined)
            return next;
        if (defaultValue !== undefined)
            return defaultValue;
        return '';
    }
    async askConfirm(_prompt, defaultValue) {
        const next = this.confirmAnswers.shift();
        if (next !== undefined)
            return next;
        return defaultValue ?? false;
    }
    async askChoice(_prompt, choices) {
        const next = this.choiceAnswers.shift();
        if (next !== undefined)
            return next;
        return choices[0]?.value ?? '';
    }
    async askMultiSelect(_prompt, choices) {
        const next = this.multiSelectAnswers.shift();
        if (next !== undefined)
            return next;
        return choices.map((c) => c.value);
    }
}
//# sourceMappingURL=prompt.stub.js.map