/** True when a user range forces the wide class. */ export declare const userWide: (code: number) => boolean; /** True when a user range forces the composing class. */ export declare const userComposing: (code: number) => boolean; export declare function initCharset(): void; /** True for a character less omits from the display, like is_omit_char. */ export declare function omitChar(code: number): boolean; /** True for a binary byte in the current charset, like binary_char. */ export declare const binaryByte: (byte: number) => boolean; /** True for a control byte, like control_char. */ export declare const controlByte: (byte: number) => boolean; /** * True for a Unicode char displayed as binary, like is_ubin_char: * unassigned, surrogate, private-use and raw control planes. */ export declare function ubinChar(char: string): boolean; /** * Renders a binary byte with $LESSBINFMT and the binary attribute, * like line.c drawing with binattr (the BIN color under -D). */ export declare function binByteText(byte: number): string; /** Renders a binary Unicode char with $LESSUTFBINFMT. */ export declare function utfBinText(code: number): string; /** The raw byte carried by a private-use marker, or -1. */ export declare function rawByteOf(char: string): number; /** * Decodes file bytes for display, like less reading through the * charset: valid UTF-8 sequences become chars and invalid bytes * become private-use markers later rendered with $LESSBINFMT; other * charsets map bytes through latin1 with their chardef classes. */ export declare function decodeContent(data: Buffer): string; /** * Incrementally decodes pipe bytes into complete lines, like less's ch * layer reading a non-seekable input: a multibyte sequence split * across chunks is held back rather than decoded as binary markers, * and the trailing partial line waits for its newline (or the end of * the input). */ export declare class PipeDecoder { private bytes; private tail; /** Decodes one chunk and returns the complete lines in it. */ push(chunk: Buffer): string[]; /** The final partial line once the input ends, if any. */ flush(): string[]; }