import { Vector2 } from "../struct/vector";
import { Color } from "./color";
import { Glyph } from "./glyph";
export interface TerminalConfig {
    width: number;
    height: number;
    foreColor?: Color;
    backColor?: Color;
}
export declare abstract class BaseTerminal {
    readonly width: number;
    readonly height: number;
    foreColor: Color;
    backColor: Color;
    constructor(config: TerminalConfig);
    size(): Vector2;
    clear(): void;
    fill(v1: Vector2, v2: Vector2, glyph: Glyph): void;
    writeAt(pos: Vector2, text: string, fore?: Color, back?: Color): void;
    drawCharCode(pos: Vector2, charCode: number, foreColor?: Color, backColor?: Color): void;
    abstract drawGlyph(pos: Vector2, glyph: Glyph): void;
    abstract windowToTilePoint(pixel: Vector2): Vector2;
    abstract delete(): void;
}
