/// declare namespace logUpdate { interface LogUpdate { /** Log to `stdout` by overwriting the previous output in the terminal. @param text - The text to log to `stdout`. @example ``` import logUpdate = require('log-update'); const frames = ['-', '\\', '|', '/']; let i = 0; setInterval(() => { const frame = frames[i = ++i % frames.length]; logUpdate( ` ♥♥ ${frame} unicorns ${frame} ♥♥ ` ); }, 80); ``` */ (...text: string[]): void; /** Clear the logged output. */ clear(): void; /** Persist the logged output. Useful if you want to start a new log session below the current one. */ done(): void; } interface Options { /** Show the cursor. This can be useful when a CLI accepts input from a user. @example ``` import logUpdate = require('log-update'); // Write output but don't hide the cursor const log = logUpdate.create(process.stdout, { showCursor: true }); ``` */ readonly showCursor?: boolean; } } declare const logUpdate: logUpdate.LogUpdate & { /** Log to `stderr` by overwriting the previous output in the terminal. @param text - The text to log to `stderr`. */ readonly stderr: logUpdate.LogUpdate; /** Get a `logUpdate` method that logs to the specified stream. @param stream - The stream to log to. */ readonly create: ( stream: NodeJS.WritableStream, options?: logUpdate.Options ) => logUpdate.LogUpdate; }; export = logUpdate;