export declare class Font { fontFamily: string; fontSize: number; fontWeight: string; fontStyle: string; constructor(fontFamily?: string, fontSize?: number, fontWeight?: string, fontStyle?: string); hash(): string; setFont(c: CanvasRenderingContext2D): void; } export interface TextCacheEntry { x: number; y: number; x_offset: number; baseline_offset: number; bbox_width: number; bbox_height: number; } export declare class TextCache { entries: { [name: string]: TextCacheEntry; }; current_x: number; current_y: number; current_height: number; width: number; height: number; scaling: number; canvas: HTMLCanvasElement; context: CanvasRenderingContext2D; updated: boolean; constructor(width?: number, height?: number, scaling?: number); addText(text: string, font: Font): { x: number; y: number; w: number; h: number; scaling: number; x_offset: number; baseline_offset: number; }; _layout2TextRect(layout: TextCacheEntry): { x: number; y: number; w: number; h: number; scaling: number; x_offset: number; baseline_offset: number; }; getTextRect(text: string, font: Font): { x: number; y: number; w: number; h: number; scaling: number; x_offset: number; baseline_offset: number; }; clear(): void; }