import { Readable } from 'stream'; import { VSBuffer } from '@vscode-alt/monaco-editor/esm/vs/base/common/buffer'; export declare const UTF8 = "utf8"; export declare const UTF8_with_bom = "utf8bom"; export declare const UTF16be = "utf16be"; export declare const UTF16le = "utf16le"; export declare const UTF16be_BOM: number[]; export declare const UTF16le_BOM: number[]; export declare const UTF8_BOM: number[]; export interface IDecodeStreamOptions { guessEncoding: boolean; minBytesRequiredForDetection?: number; overwriteEncoding(detectedEncoding: string | null): string; } export interface IDecodeStreamResult { stream: NodeJS.ReadableStream; detected: IDetectedEncodingResult; } export declare function toDecodeStream(readable: Readable, options: IDecodeStreamOptions): Promise; export declare function decode(buffer: Buffer, encoding: string): string; export declare function encode(content: string | Buffer, encoding: string, options?: { addBOM?: boolean; }): Buffer; export declare function encodingExists(encoding: string): boolean; export declare function encodeStream(encoding: string, options?: { addBOM?: boolean; }): NodeJS.ReadWriteStream; export declare function detectEncodingByBOMFromBuffer(buffer: Buffer | VSBuffer | null, bytesRead: number): string | null; /** * The encodings that are allowed in a settings file don't match the canonical encoding labels specified by WHATWG. * See https://encoding.spec.whatwg.org/#names-and-labels * Iconv-lite strips all non-alphanumeric characters, but ripgrep doesn't. For backcompat, allow these labels. */ export declare function toCanonicalName(enc: string): string; export interface IDetectedEncodingResult { encoding: string | null; seemsBinary: boolean; } export interface IReadResult { buffer: Buffer | null; bytesRead: number; } export declare function detectEncodingFromBuffer(readResult: IReadResult, autoGuessEncoding?: false): IDetectedEncodingResult; export declare function detectEncodingFromBuffer(readResult: IReadResult, autoGuessEncoding?: boolean): Promise; export declare function resolveTerminalEncoding(verbose?: boolean): Promise;