import { OptimizedBuffer } from "../buffer"; import { type ColorInput } from "./RGBA"; export type ASCIIFontName = "tiny" | "block" | "shade" | "slick" | "huge" | "grid" | "pallet"; export declare const fonts: { tiny: { name: string; version: string; homepage: string; colors: number; lines: number; buffer: string[]; letterspace: string[]; letterspace_size: number; chars: { A: string[]; B: string[]; C: string[]; D: string[]; E: string[]; F: string[]; G: string[]; H: string[]; I: string[]; J: string[]; K: string[]; L: string[]; M: string[]; N: string[]; O: string[]; P: string[]; Q: string[]; R: string[]; S: string[]; T: string[]; U: string[]; V: string[]; W: string[]; X: string[]; Y: string[]; Z: string[]; "0": string[]; "1": string[]; "2": string[]; "3": string[]; "4": string[]; "5": string[]; "6": string[]; "7": string[]; "8": string[]; "9": string[]; "!": string[]; "?": string[]; ".": string[]; "+": string[]; "-": string[]; _: string[]; "=": string[]; "@": string[]; "#": string[]; $: string[]; "%": string[]; "&": string[]; "(": string[]; ")": string[]; "/": string[]; ":": string[]; ";": string[]; ",": string[]; "'": string[]; "\"": string[]; " ": string[]; }; }; block: { name: string; version: string; homepage: string; colors: number; lines: number; buffer: string[]; letterspace: string[]; letterspace_size: number; chars: { A: string[]; B: string[]; C: string[]; D: string[]; E: string[]; F: string[]; G: string[]; H: string[]; I: string[]; J: string[]; K: string[]; L: string[]; M: string[]; N: string[]; O: string[]; P: string[]; Q: string[]; R: string[]; S: string[]; T: string[]; U: string[]; V: string[]; W: string[]; X: string[]; Y: string[]; Z: string[]; "0": string[]; "1": string[]; "2": string[]; "3": string[]; "4": string[]; "5": string[]; "6": string[]; "7": string[]; "8": string[]; "9": string[]; "!": string[]; "?": string[]; ".": string[]; "+": string[]; "-": string[]; _: string[]; "=": string[]; "@": string[]; "#": string[]; $: string[]; "%": string[]; "&": string[]; "(": string[]; ")": string[]; "/": string[]; ":": string[]; ";": string[]; ",": string[]; "'": string[]; "\"": string[]; " ": string[]; }; }; shade: { name: string; version: string; homepage: string; colors: number; lines: number; buffer: string[]; letterspace: string[]; letterspace_size: number; chars: { A: string[]; B: string[]; C: string[]; D: string[]; E: string[]; F: string[]; G: string[]; H: string[]; I: string[]; J: string[]; K: string[]; L: string[]; M: string[]; N: string[]; O: string[]; P: string[]; Q: string[]; R: string[]; S: string[]; T: string[]; U: string[]; V: string[]; W: string[]; X: string[]; Y: string[]; Z: string[]; "0": string[]; "1": string[]; "2": string[]; "3": string[]; "4": string[]; "5": string[]; "6": string[]; "7": string[]; "8": string[]; "9": string[]; "!": string[]; "?": string[]; ".": string[]; "+": string[]; "-": string[]; _: string[]; "=": string[]; "@": string[]; "#": string[]; $: string[]; "%": string[]; "&": string[]; "(": string[]; ")": string[]; "/": string[]; ":": string[]; ";": string[]; ",": string[]; "'": string[]; "\"": string[]; " ": string[]; }; }; slick: { name: string; version: string; homepage: string; colors: number; lines: number; buffer: string[]; letterspace: string[]; letterspace_size: number; chars: { A: string[]; B: string[]; C: string[]; D: string[]; E: string[]; F: string[]; G: string[]; H: string[]; I: string[]; J: string[]; K: string[]; L: string[]; M: string[]; N: string[]; O: string[]; P: string[]; Q: string[]; R: string[]; S: string[]; T: string[]; U: string[]; V: string[]; W: string[]; X: string[]; Y: string[]; Z: string[]; "0": string[]; "1": string[]; "2": string[]; "3": string[]; "4": string[]; "5": string[]; "6": string[]; "7": string[]; "8": string[]; "9": string[]; "!": string[]; "?": string[]; ".": string[]; "+": string[]; "-": string[]; _: string[]; "=": string[]; "@": string[]; "#": string[]; $: string[]; "%": string[]; "&": string[]; "(": string[]; ")": string[]; "/": string[]; ":": string[]; ";": string[]; ",": string[]; "'": string[]; "\"": string[]; " ": string[]; }; }; huge: { name: string; version: string; homepage: string; colors: number; lines: number; buffer: string[]; letterspace: string[]; letterspace_size: number; chars: { A: string[]; B: string[]; C: string[]; D: string[]; E: string[]; F: string[]; G: string[]; H: string[]; I: string[]; J: string[]; K: string[]; L: string[]; M: string[]; N: string[]; O: string[]; P: string[]; Q: string[]; R: string[]; S: string[]; T: string[]; U: string[]; V: string[]; W: string[]; X: string[]; Y: string[]; Z: string[]; "0": string[]; "1": string[]; "2": string[]; "3": string[]; "4": string[]; "5": string[]; "6": string[]; "7": string[]; "8": string[]; "9": string[]; "!": string[]; "?": string[]; ".": string[]; "+": string[]; "-": string[]; _: string[]; "=": string[]; "@": string[]; "#": string[]; $: string[]; "%": string[]; "&": string[]; "(": string[]; ")": string[]; "/": string[]; ":": string[]; ";": string[]; ",": string[]; "'": string[]; "\"": string[]; " ": string[]; }; }; grid: { name: string; version: string; homepage: string; colors: number; lines: number; buffer: string[]; letterspace: string[]; letterspace_size: number; chars: { A: string[]; B: string[]; C: string[]; D: string[]; E: string[]; F: string[]; G: string[]; H: string[]; I: string[]; J: string[]; K: string[]; L: string[]; M: string[]; N: string[]; O: string[]; P: string[]; Q: string[]; R: string[]; S: string[]; T: string[]; U: string[]; V: string[]; W: string[]; X: string[]; Y: string[]; Z: string[]; "0": string[]; "1": string[]; "2": string[]; "3": string[]; "4": string[]; "5": string[]; "6": string[]; "7": string[]; "8": string[]; "9": string[]; "!": string[]; "?": string[]; ".": string[]; "+": string[]; "-": string[]; _: string[]; "=": string[]; "@": string[]; "#": string[]; $: string[]; "%": string[]; "&": string[]; "(": string[]; ")": string[]; "/": string[]; ":": string[]; ";": string[]; ",": string[]; "'": string[]; "\"": string[]; " ": string[]; }; }; pallet: { name: string; version: string; homepage: string; colors: number; lines: number; buffer: string[]; letterspace: string[]; letterspace_size: number; chars: { A: string[]; B: string[]; C: string[]; D: string[]; E: string[]; F: string[]; G: string[]; H: string[]; I: string[]; J: string[]; K: string[]; L: string[]; M: string[]; N: string[]; O: string[]; P: string[]; Q: string[]; R: string[]; S: string[]; T: string[]; U: string[]; V: string[]; W: string[]; X: string[]; Y: string[]; Z: string[]; "0": string[]; "1": string[]; "2": string[]; "3": string[]; "4": string[]; "5": string[]; "6": string[]; "7": string[]; "8": string[]; "9": string[]; "!": string[]; "?": string[]; ".": string[]; "+": string[]; "-": string[]; _: string[]; "=": string[]; "@": string[]; "#": string[]; $: string[]; "%": string[]; "&": string[]; "(": string[]; ")": string[]; "/": string[]; ":": string[]; ";": string[]; ",": string[]; "'": string[]; "\"": string[]; " ": string[]; }; }; }; export declare function measureText({ text, font }: { text: string; font?: keyof typeof fonts; }): { width: number; height: number; }; export declare function getCharacterPositions(text: string, font?: keyof typeof fonts): number[]; export declare function coordinateToCharacterIndex(x: number, text: string, font?: keyof typeof fonts): number; export declare function renderFontToFrameBuffer(buffer: OptimizedBuffer, { text, x, y, color, backgroundColor, font, }: { text: string; x?: number; y?: number; color?: ColorInput | ColorInput[]; backgroundColor?: ColorInput; font?: keyof typeof fonts; }): { width: number; height: number; };