chalk/index.d.ts

287 lines
5.4 KiB
TypeScript

declare const enum LevelEnum {
/**
All colors disabled.
*/
None = 0,
/**
Basic 16 colors support.
*/
Basic = 1,
/**
ANSI 256 colors support.
*/
Ansi256 = 2,
/**
Truecolor 16 million colors support.
*/
TrueColor = 3
}
declare namespace chalk {
type Level = LevelEnum;
interface Options {
/**
Enable or disable Chalk.
@default true
*/
enabled?: boolean;
/**
Specify the color support for Chalk.
By default, color support is automatically detected based on the environment.
*/
level?: Level;
}
interface Instance {
/**
Return a new Chalk instance.
*/
new (options?: Options): Chalk;
}
/**
Detect whether the terminal supports color.
*/
interface ColorSupport {
/**
The color level used by Chalk.
*/
level: Level;
/**
Return whether Chalk supports basic 16 colors.
*/
hasBasic: boolean;
/**
Return whether Chalk supports ANSI 256 colors.
*/
has256: boolean;
/**
Return whether Chalk supports Truecolor 16 million colors.
*/
has16m: boolean;
}
interface Chalk {
(...text: unknown[]): string;
(text: TemplateStringsArray, ...placeholders: unknown[]): string;
/**
Return a new Chalk instance.
*/
Instance: Instance;
/**
Enable or disable Chalk.
@default true
*/
enabled: boolean;
/**
The color support for Chalk.
By default, color support is automatically detected based on the environment.
*/
level: Level;
/**
Use HEX value to set text color.
@param color - Hexadecimal value representing the desired color.
@example
```
import chalk = require('chalk');
chalk.hex('#DEADED');
```
*/
hex(color: string): this;
/**
Use keyword color value to set text color.
@param color - Keyword value representing the desired color.
@example
```
import chalk = require('chalk');
chalk.keyword('orange');
```
*/
keyword(color: string): this;
/**
Use RGB values to set text color.
*/
rgb(red: number, green: number, blue: number): this;
/**
Use HSL values to set text color.
*/
hsl(hue: number, saturation: number, lightness: number): this;
/**
Use HSV values to set text color.
*/
hsv(hue: number, saturation: number, value: number): this;
/**
Use HWB values to set text color.
*/
hwb(hue: number, whiteness: number, blackness: number): this;
/**
Use HEX value to set background color.
@param color - Hexadecimal value representing the desired color.
@example
```
import chalk = require('chalk');
chalk.bgHex('#DEADED');
```
*/
bgHex(color: string): this;
/**
Use keyword color value to set background color.
@param color - Keyword value representing the desired color.
@example
```
import chalk = require('chalk');
chalk.bgKeyword('orange');
```
*/
bgKeyword(color: string): this;
/**
Use RGB values to set background color.
*/
bgRgb(red: number, green: number, blue: number): this;
/**
Use HSL values to set background color.
*/
bgHsl(hue: number, saturation: number, lightness: number): this;
/**
Use HSV values to set background color.
*/
bgHsv(hue: number, saturation: number, value: number): this;
/**
Use HWB values to set background color.
*/
bgHwb(hue: number, whiteness: number, blackness: number): this;
/**
Modifier: Resets the current color chain.
*/
readonly reset: this;
/**
Modifier: Make text bold.
*/
readonly bold: this;
/**
Modifier: Emitting only a small amount of light.
*/
readonly dim: this;
/**
Modifier: Make text italic. (Not widely supported)
*/
readonly italic: this;
/**
Modifier: Make text underline. (Not widely supported)
*/
readonly underline: this;
/**
Modifier: Inverse background and foreground colors.
*/
readonly inverse: this;
/**
Modifier: Prints the text, but makes it invisible.
*/
readonly hidden: this;
/**
Modifier: Puts a horizontal line through the center of the text. (Not widely supported)
*/
readonly strikethrough: this;
/**
Modifier: Prints the text only when Chalk is enabled.
Can be useful for things that are purely cosmetic.
*/
readonly visible: this;
readonly black: this;
readonly red: this;
readonly green: this;
readonly yellow: this;
readonly blue: this;
readonly magenta: this;
readonly cyan: this;
readonly white: this;
readonly gray: this;
readonly grey: this;
readonly blackBright: this;
readonly redBright: this;
readonly greenBright: this;
readonly yellowBright: this;
readonly blueBright: this;
readonly magentaBright: this;
readonly cyanBright: this;
readonly whiteBright: this;
readonly bgBlack: this;
readonly bgRed: this;
readonly bgGreen: this;
readonly bgYellow: this;
readonly bgBlue: this;
readonly bgMagenta: this;
readonly bgCyan: this;
readonly bgWhite: this;
readonly bgBlackBright: this;
readonly bgRedBright: this;
readonly bgGreenBright: this;
readonly bgYellowBright: this;
readonly bgBlueBright: this;
readonly bgMagentaBright: this;
readonly bgCyanBright: this;
readonly bgWhiteBright: this;
}
}
/**
Main Chalk object that allows to chain styles together.
Call the last one as a method with a string argument.
Order doesn't matter, and later styles take precedent in case of a conflict.
This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
*/
declare const chalk: chalk.Chalk & {
supportsColor: chalk.ColorSupport;
Level: typeof LevelEnum;
};
export = chalk;