import { OptimizedBuffer } from "../buffer.js";
import { type ColorInput } from "./RGBA.js";
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;
};
