1import * as cssColors from 'color-name'; 2 3declare namespace ansiStyles { 4 interface ColorConvert { 5 /** 6 The RGB color space. 7 8 @param red - (`0`-`255`) 9 @param green - (`0`-`255`) 10 @param blue - (`0`-`255`) 11 */ 12 rgb(red: number, green: number, blue: number): string; 13 14 /** 15 The RGB HEX color space. 16 17 @param hex - A hexadecimal string containing RGB data. 18 */ 19 hex(hex: string): string; 20 21 /** 22 @param keyword - A CSS color name. 23 */ 24 keyword(keyword: keyof typeof cssColors): string; 25 26 /** 27 The HSL color space. 28 29 @param hue - (`0`-`360`) 30 @param saturation - (`0`-`100`) 31 @param lightness - (`0`-`100`) 32 */ 33 hsl(hue: number, saturation: number, lightness: number): string; 34 35 /** 36 The HSV color space. 37 38 @param hue - (`0`-`360`) 39 @param saturation - (`0`-`100`) 40 @param value - (`0`-`100`) 41 */ 42 hsv(hue: number, saturation: number, value: number): string; 43 44 /** 45 The HSV color space. 46 47 @param hue - (`0`-`360`) 48 @param whiteness - (`0`-`100`) 49 @param blackness - (`0`-`100`) 50 */ 51 hwb(hue: number, whiteness: number, blackness: number): string; 52 53 /** 54 Use a [4-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4-bit) to set text color. 55 */ 56 ansi(ansi: number): string; 57 58 /** 59 Use an [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set text color. 60 */ 61 ansi256(ansi: number): string; 62 } 63 64 interface CSPair { 65 /** 66 The ANSI terminal control sequence for starting this style. 67 */ 68 readonly open: string; 69 70 /** 71 The ANSI terminal control sequence for ending this style. 72 */ 73 readonly close: string; 74 } 75 76 interface ColorBase { 77 readonly ansi: ColorConvert; 78 readonly ansi256: ColorConvert; 79 readonly ansi16m: ColorConvert; 80 81 /** 82 The ANSI terminal control sequence for ending this color. 83 */ 84 readonly close: string; 85 } 86 87 interface Modifier { 88 /** 89 Resets the current color chain. 90 */ 91 readonly reset: CSPair; 92 93 /** 94 Make text bold. 95 */ 96 readonly bold: CSPair; 97 98 /** 99 Emitting only a small amount of light. 100 */ 101 readonly dim: CSPair; 102 103 /** 104 Make text italic. (Not widely supported) 105 */ 106 readonly italic: CSPair; 107 108 /** 109 Make text underline. (Not widely supported) 110 */ 111 readonly underline: CSPair; 112 113 /** 114 Inverse background and foreground colors. 115 */ 116 readonly inverse: CSPair; 117 118 /** 119 Prints the text, but makes it invisible. 120 */ 121 readonly hidden: CSPair; 122 123 /** 124 Puts a horizontal line through the center of the text. (Not widely supported) 125 */ 126 readonly strikethrough: CSPair; 127 } 128 129 interface ForegroundColor { 130 readonly black: CSPair; 131 readonly red: CSPair; 132 readonly green: CSPair; 133 readonly yellow: CSPair; 134 readonly blue: CSPair; 135 readonly cyan: CSPair; 136 readonly magenta: CSPair; 137 readonly white: CSPair; 138 139 /** 140 Alias for `blackBright`. 141 */ 142 readonly gray: CSPair; 143 144 /** 145 Alias for `blackBright`. 146 */ 147 readonly grey: CSPair; 148 149 readonly blackBright: CSPair; 150 readonly redBright: CSPair; 151 readonly greenBright: CSPair; 152 readonly yellowBright: CSPair; 153 readonly blueBright: CSPair; 154 readonly cyanBright: CSPair; 155 readonly magentaBright: CSPair; 156 readonly whiteBright: CSPair; 157 } 158 159 interface BackgroundColor { 160 readonly bgBlack: CSPair; 161 readonly bgRed: CSPair; 162 readonly bgGreen: CSPair; 163 readonly bgYellow: CSPair; 164 readonly bgBlue: CSPair; 165 readonly bgCyan: CSPair; 166 readonly bgMagenta: CSPair; 167 readonly bgWhite: CSPair; 168 169 /** 170 Alias for `bgBlackBright`. 171 */ 172 readonly bgGray: CSPair; 173 174 /** 175 Alias for `bgBlackBright`. 176 */ 177 readonly bgGrey: CSPair; 178 179 readonly bgBlackBright: CSPair; 180 readonly bgRedBright: CSPair; 181 readonly bgGreenBright: CSPair; 182 readonly bgYellowBright: CSPair; 183 readonly bgBlueBright: CSPair; 184 readonly bgCyanBright: CSPair; 185 readonly bgMagentaBright: CSPair; 186 readonly bgWhiteBright: CSPair; 187 } 188} 189 190declare const ansiStyles: { 191 readonly modifier: ansiStyles.Modifier; 192 readonly color: ansiStyles.ForegroundColor & ansiStyles.ColorBase; 193 readonly bgColor: ansiStyles.BackgroundColor & ansiStyles.ColorBase; 194 readonly codes: ReadonlyMap<number, number>; 195} & ansiStyles.BackgroundColor & ansiStyles.ForegroundColor & ansiStyles.Modifier; 196 197export = ansiStyles; 198