import { Ora } from 'ora'; import { TableCell, TableOptions, UI } from './ui'; import { StatsigService } from '../service/statsig-service'; export interface ProgressResult { successful: boolean; message: string; } declare type TableData = Record[] | undefined | null; export declare class CommandLineUI implements UI { private readonly verbose; private readonly customEffectsEnabled?; private readonly logger; private readonly spinner; private readonly promptInternal; private insideProgress; private statsigService; private cachedSpinnerConfig; private addedProgressPadding; private static ANSI_MOVE_CURSOR_UP_ONE; private static ANSI_CLEAR_CURSOR_LINE; private static NON_TTY_ENV_DEFAULT_COLUMNS; constructor(verbose: () => boolean, statsigService?: StatsigService, spinner?: Ora, logger?: Console, customEffectsEnabled?: (() => boolean) | undefined); setStatsigService(statsigService: StatsigService): void; private seasonalSpinnerEffectsEnabled; private initCustomSpinner; private getSpinner; private prompt; get traceEnabled(): boolean; get debugEnabled(): boolean; displayProgress(progress: () => Promise, startText: string, successText: string | ((result: Result) => string | ProgressResult)): Promise; displayTemporaryMessage(progress: () => Promise, waitText: string): Promise; trace(message: string): void; debug(message: string): void; info(message: string): void; warn(message: string): void; error(error: Error, { pad }?: { pad?: boolean | undefined; }): void; emptyLine(): void; confirm(message: string): Promise; promptForText(message: string, defaultValue?: string): Promise; promptForSecret(message: string): Promise; promptForList(message: string, choices: T[], config?: { format?: (choice: T) => string; }, pageSize?: number): Promise; promptForTable(message: string, infoMessage: string, columns: string[], choices: object[], isBorderless?: boolean): Promise; promptForSingleChoiceTable(message: string, infoMessage: string, columns: string[], choices: object[]): Promise; private getScaledTableHeight; private clearLastNLines; dynamicTable(head: [Key, string][], getData: () => Promise>, tableRefreshIntervalMs: number, { emptyMessage, preMessage, postMessage, format, groupRows }?: Omit, 'json'>): Promise; table(head: [Key, string][], data: TableData, { json, emptyMessage, preMessage, postMessage, format, groupRows }?: TableOptions): void; private formatTableValue; private shouldLogTableCell; private getTable; private logTable; private log; private logSuccess; private logError; private stopProgressSpinner; private replaceStartTextOnSuccess; private stopWaitSpinner; clearSpinner(): void; private promptForString; private registerCustomUIElements; formatKeyValueList(items: { key: string; value: string; }[], indent?: string, addNewLine?: boolean): string; formatYamlProperties(properties: any, key: string, showMessage?: boolean): string; } export {}; //# sourceMappingURL=command-line-ui.d.ts.map