| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 | /// <reference types="node"/>import {SpinnerName} from 'cli-spinners';declare namespace ora {	interface Spinner {		readonly interval?: number;		readonly frames: string[];	}	type Color =		| 'black'		| 'red'		| 'green'		| 'yellow'		| 'blue'		| 'magenta'		| 'cyan'		| 'white'		| 'gray';	interface Options {		/**		Text to display after the spinner.		*/		readonly text?: string;		/**		Text to display before the spinner.		*/		readonly prefixText?: string;		/**		Name of one of the provided spinners. See [`example.js`](https://github.com/BendingBender/ora/blob/master/example.js) in this repo if you want to test out different spinners. On Windows, it will always use the line spinner as the Windows command-line doesn't have proper Unicode support.		@default 'dots'		Or an object like:		@example		```		{			interval: 80, // Optional			frames: ['-', '+', '-']		}		```		*/		readonly spinner?: SpinnerName | Spinner;		/**		Color of the spinner.		@default 'cyan'		*/		readonly color?: Color;		/**		Set to `false` to stop Ora from hiding the cursor.		@default true		*/		readonly hideCursor?: boolean;		/**		Indent the spinner with the given number of spaces.		@default 0		*/		readonly indent?: number;		/**		Interval between each frame.		Spinners provide their own recommended interval, so you don't really need to specify this. Default value: Provided by the spinner or `100`.		*/		readonly interval?: number;		/**		Stream to write the output.		You could for example set this to `process.stdout` instead.		@default process.stderr		*/		readonly stream?: NodeJS.WritableStream;		/**		Force enable/disable the spinner. If not specified, the spinner will be enabled if the `stream` is being run inside a TTY context (not spawned or piped) and/or not in a CI environment.		Note that `{isEnabled: false}` doesn't mean it won't output anything. It just means it won't output the spinner, colors, and other ansi escape codes. It will still log text.		*/		readonly isEnabled?: boolean;	}	interface PersistOptions {		/**		Symbol to replace the spinner with.		@default ' '		*/		readonly symbol?: string;		/**		Text to be persisted after the symbol. Default: Current `text`.		*/		readonly text?: string;		/**		Text to be persisted before the symbol. Default: Current `prefixText`.		*/		readonly prefixText?: string;	}	interface Ora {		/**		A boolean of whether the instance is currently spinning.		*/		readonly isSpinning: boolean;		/**		Change the text after the spinner.		*/		text: string;		/**		Change the text before the spinner.		*/		prefixText: string;		/**		Change the spinner color.		*/		color: Color;		/**		Change the spinner.		*/		spinner: SpinnerName | Spinner;		/**		Change the spinner indent.		*/		indent: number;		/**		Start the spinner.		@param text - Set the current text.		@returns The spinner instance.		*/		start(text?: string): Ora;		/**		Stop and clear the spinner.		@returns The spinner instance.		*/		stop(): Ora;		/**		Stop the spinner, change it to a green `✔` and persist the current text, or `text` if provided.		@param text - Will persist text if provided.		@returns The spinner instance.		*/		succeed(text?: string): Ora;		/**		Stop the spinner, change it to a red `✖` and persist the current text, or `text` if provided.		@param text - Will persist text if provided.		@returns The spinner instance.		*/		fail(text?: string): Ora;		/**		Stop the spinner, change it to a yellow `⚠` and persist the current text, or `text` if provided.		@param text - Will persist text if provided.		@returns The spinner instance.		*/		warn(text?: string): Ora;		/**		Stop the spinner, change it to a blue `ℹ` and persist the current text, or `text` if provided.		@param text - Will persist text if provided.		@returns The spinner instance.		*/		info(text?: string): Ora;		/**		Stop the spinner and change the symbol or text.		@returns The spinner instance.		*/		stopAndPersist(options?: PersistOptions): Ora;		/**		Clear the spinner.		@returns The spinner instance.		*/		clear(): Ora;		/**		Manually render a new frame.		@returns The spinner instance.		*/		render(): Ora;		/**		Get a new frame.		@returns The spinner instance.		*/		frame(): Ora;	}}declare const ora: {	/**	Elegant terminal spinner.	@param options - If a string is provided, it is treated as a shortcut for `options.text`.	@example	```	import ora = require('ora');	const spinner = ora('Loading unicorns').start();	setTimeout(() => {		spinner.color = 'yellow';		spinner.text = 'Loading rainbows';	}, 1000);	```	*/	(options?: ora.Options | string): ora.Ora;	/**	Starts a spinner for a promise. The spinner is stopped with `.succeed()` if the promise fulfills or with `.fail()` if it rejects.	@param action - The promise to start the spinner for.	@param options - If a string is provided, it is treated as a shortcut for `options.text`.	@returns The spinner instance.	*/	promise(		action: PromiseLike<unknown>,		options?: ora.Options | string	): ora.Ora;	// TODO: Remove this for the next major release	default: typeof ora;};export = ora;
 |