import type { CANCEL } from "./interactive/cancel-symbol.js"; import { type SelectOption } from "./interactive/select.js"; import { cancel, isCancel } from "./primitives/cancel.js"; import { intro } from "./primitives/intro.js"; import { log } from "./primitives/log.js"; import { note } from "./primitives/note.js"; import { outro } from "./primitives/outro.js"; import { spinner } from "./primitives/spinner.js"; export { isCancel, cancel, log }; export { intro, outro, note, spinner }; export declare function introPlain(title: string): void; export interface SelectOptions { message: string; options: Array>; initialValue?: Value; maxItems?: number; signal?: AbortSignal; input?: NodeJS.ReadableStream; output?: NodeJS.WritableStream; } export declare function select(opts: SelectOptions): Promise; export interface MultiselectOptions { message: string; options: Array>; initialValues?: Value[]; required?: boolean; maxItems?: number; signal?: AbortSignal; input?: NodeJS.ReadableStream; output?: NodeJS.WritableStream; } /** * Prompts the user to select one or more values from a list. * * Returns the selected values as an array, or a cancellation symbol if the * user cancels. Use `isCancel` to check for cancellation. * * @example * const result = await multiselect({ * message: "Pick workflows to run", * options: [{ label: "Fix Vulnerabilities", value: "fix-vulnerabilities" }], * required: true * }); * if (!isCancel(result)) { * // result is Value[] * } */ export declare function multiselect(opts: MultiselectOptions): Promise; export interface TextOptions { message: string; placeholder?: string; defaultValue?: string; initialValue?: string; validate?: (value: string) => string | Error | undefined; signal?: AbortSignal; input?: NodeJS.ReadableStream; output?: NodeJS.WritableStream; } export declare function text(opts: TextOptions): Promise; export interface ConfirmOptions { message: string; initialValue?: boolean; signal?: AbortSignal; input?: NodeJS.ReadableStream; output?: NodeJS.WritableStream; } export declare function confirm(opts: ConfirmOptions): Promise; export declare class PromptCancelledError extends Error { constructor(message?: string); } export declare function confirmOrCancel(opts: ConfirmOptions): Promise; export interface PasswordOptions { message: string; validate?: (value: string) => string | Error | undefined; signal?: AbortSignal; input?: NodeJS.ReadableStream; output?: NodeJS.WritableStream; } export declare function password(opts: PasswordOptions): Promise; export type SpinnerOptions = { start: (message?: string) => void; stop: (message?: string, code?: number) => void; message: (message?: string) => void; }; export interface WithSpinnerOptions { message: string | (() => string); fn: () => Promise; stopMessage?: (result: T) => string; subtext?: (result: T) => string | undefined; } export declare function withSpinner(options: WithSpinnerOptions): Promise;