// TODO: Make it this when TS suports that. // import {ColorInfo, ColorSupportLevel} from '#supports-color'; import {ColorInfo, ColorSupportLevel} from './vendor/supports-color/index.js'; /** Basic foreground colors. [More colors here.](https://github.com/chalk/chalk/blob/main/readme.md#256-and-truecolor-color-support) */ export type ForegroundColor = | 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray' | 'grey' | 'blackBright' | 'redBright' | 'greenBright' | 'yellowBright' | 'blueBright' | 'magentaBright' | 'cyanBright' | 'whiteBright'; /** Basic background colors. [More colors here.](https://github.com/chalk/chalk/blob/main/readme.md#256-and-truecolor-color-support) */ export type BackgroundColor = | 'bgBlack' | 'bgRed' | 'bgGreen' | 'bgYellow' | 'bgBlue' | 'bgMagenta' | 'bgCyan' | 'bgWhite' | 'bgGray' | 'bgGrey' | 'bgBlackBright' | 'bgRedBright' | 'bgGreenBright' | 'bgYellowBright' | 'bgBlueBright' | 'bgMagentaBright' | 'bgCyanBright' | 'bgWhiteBright'; /** Basic colors. [More colors here.](https://github.com/chalk/chalk/blob/main/readme.md#256-and-truecolor-color-support) */ export type Color = ForegroundColor | BackgroundColor; export type Modifiers = | 'reset' | 'bold' | 'dim' | 'italic' | 'underline' | 'overline' | 'inverse' | 'hidden' | 'strikethrough' | 'visible'; export interface Options { /** Specify the color support for Chalk. By default, color support is automatically detected based on the environment. Levels: - `0` - All colors disabled. - `1` - Basic 16 colors support. - `2` - ANSI 256 colors support. - `3` - Truecolor 16 million colors support. */ readonly level?: ColorSupportLevel; } /** Return a new Chalk instance. */ export const Chalk: new (options?: Options) => ChalkInstance; // eslint-disable-line @typescript-eslint/naming-convention export interface ChalkInstance { (...text: unknown[]): string; /** The color support for Chalk. By default, color support is automatically detected based on the environment. Levels: - `0` - All colors disabled. - `1` - Basic 16 colors support. - `2` - ANSI 256 colors support. - `3` - Truecolor 16 million colors support. */ level: ColorSupportLevel; /** Use RGB values to set text color. @example ``` import chalk from 'chalk'; chalk.rgb(222, 173, 237); ``` */ rgb: (red: number, green: number, blue: number) => this; /** Use HEX value to set text color. @param color - Hexadecimal value representing the desired color. @example ``` import chalk from 'chalk'; chalk.hex('#DEADED'); ``` */ hex: (color: string) => this; /** Use an [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set text color. @example ``` import chalk from 'chalk'; chalk.ansi256(201); ``` */ ansi256: (index: number) => this; /** Use RGB values to set background color. @example ``` import chalk from 'chalk'; chalk.bgRgb(222, 173, 237); ``` */ bgRgb: (red: number, green: number, blue: number) => this; /** Use HEX value to set background color. @param color - Hexadecimal value representing the desired color. @example ``` import chalk from 'chalk'; chalk.bgHex('#DEADED'); ``` */ bgHex: (color: string) => this; /** Use a [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set background color. @example ``` import chalk from 'chalk'; chalk.bgAnsi256(201); ``` */ bgAnsi256: (index: number) => this; /** Modifier: Reset the current style. */ readonly reset: this; /** Modifier: Make the text bold. */ readonly bold: this; /** Modifier: Make the text have lower opacity. */ readonly dim: this; /** Modifier: Make the text italic. *(Not widely supported)* */ readonly italic: this; /** Modifier: Put a horizontal line below the text. *(Not widely supported)* */ readonly underline: this; /** Modifier: Put a horizontal line above the text. *(Not widely supported)* */ readonly overline: this; /** Modifier: Invert background and foreground colors. */ readonly inverse: this; /** Modifier: Print the text but make it invisible. */ readonly hidden: this; /** Modifier: Puts a horizontal line through the center of the text. *(Not widely supported)* */ readonly strikethrough: this; /** Modifier: Print the text only when Chalk has a color level above zero. 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; /* Alias for `blackBright`. */ readonly gray: this; /* Alias for `blackBright`. */ 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; /* Alias for `bgBlackBright`. */ readonly bgGray: this; /* Alias for `bgBlackBright`. */ readonly bgGrey: 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: ChalkInstance; export const supportsColor: ColorInfo; export const chalkStderr: typeof chalk; export const supportsColorStderr: typeof supportsColor; export { ColorInfo, ColorSupport, ColorSupportLevel, // } from '#supports-color'; } from './vendor/supports-color/index.js'; export default chalk;