| declare namespace cliTruncate { | 
|     interface Options { | 
|         /** | 
|         Position to truncate the string. | 
|   | 
|         @default 'end' | 
|         */ | 
|         readonly position?: 'start' | 'middle' | 'end'; | 
|   | 
|         /** | 
|         Add a space between the text and the ellipsis. | 
|   | 
|         @default false | 
|   | 
|         @example | 
|         ``` | 
|         cliTruncate('unicorns', 5, {position: 'end', space: true}); | 
|         //=> 'uni …' | 
|   | 
|         cliTruncate('unicorns', 5, {position: 'end', space: false}); | 
|         //=> 'unic…' | 
|   | 
|         cliTruncate('unicorns', 6, {position: 'start', space: true}); | 
|         //=> '… orns' | 
|   | 
|         cliTruncate('unicorns', 7, {position: 'middle', space: true}); | 
|         //=> 'uni … s' | 
|         ``` | 
|         */ | 
|         readonly space?: boolean; | 
|   | 
|         /** | 
|         Truncate the string from a whitespace if it is within 3 characters from the actual breaking point. | 
|   | 
|         @default false | 
|   | 
|         @example | 
|         ``` | 
|         cliTruncate('unicorns rainbow dragons', 20, {position: 'start', preferTruncationOnSpace: true}); | 
|         //=> '…rainbow dragons' | 
|   | 
|         cliTruncate('unicorns rainbow dragons', 20, {position: 'middle', preferTruncationOnSpace: true}); | 
|         //=> 'unicorns…dragons' | 
|   | 
|         cliTruncate('unicorns rainbow dragons', 6, {position: 'end', preferTruncationOnSpace: true}); | 
|         //=> 'unico…' | 
|         ```` | 
|         */ | 
|         readonly preferTruncationOnSpace?: boolean; | 
|     } | 
| } | 
|   | 
| /** | 
| Truncate a string to a specific width in the terminal. | 
|   | 
| @param text - Text to truncate. | 
| @param columns - Columns to occupy in the terminal. | 
|   | 
| @example | 
| ``` | 
| import cliTruncate = require('cli-truncate'); | 
|   | 
| cliTruncate('unicorn', 4); | 
| //=> 'uni…' | 
|   | 
| // Truncate at different positions | 
| cliTruncate('unicorn', 4, {position: 'start'}); | 
| //=> '…orn' | 
|   | 
| cliTruncate('unicorn', 4, {position: 'middle'}); | 
| //=> 'un…n' | 
|   | 
| cliTruncate('\u001B[31municorn\u001B[39m', 4); | 
| //=> '\u001B[31muni\u001B[39m…' | 
|   | 
| // Truncate Unicode surrogate pairs | 
| cliTruncate('uni\uD83C\uDE00corn', 5); | 
| //=> 'uni\uD83C\uDE00…' | 
|   | 
| // Truncate fullwidth characters | 
| cliTruncate('안녕하세요', 3); | 
| //=> '안…' | 
|   | 
| // Truncate the paragraph to the terminal width | 
| const paragraph = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.'; | 
| cliTruncate(paragraph, process.stdout.columns)); | 
| //=> 'Lorem ipsum dolor sit amet, consectetuer adipiscing…' | 
| ``` | 
| */ | 
| declare function cliTruncate( | 
|     text: string, | 
|     columns: number, | 
|     options?: cliTruncate.Options | 
| ): string; | 
|   | 
| export = cliTruncate; |