import { DataTexture } from "three";
interface TextureOffsetMap {
    width: number;
    height: number;
    x: number;
    y: number;
    texture: DataTexture;
}
export declare class TextTextureFactory {
    private static canvas;
    private static ctx;
    private static cacheMap;
    private static rectCacheMap;
    private static lazyTextureCacheMap;
    private static lazyPoiMap;
    private static textTextureWorker;
    private static lazyIndexDbTextTextureWorker;
    private static idleCanvas;
    private static idleCtx;
    private static timer;
    private static InitDb;
    private static options;
    static getCanvas(): HTMLCanvasElement;
    static getCtx(): CanvasRenderingContext2D;
    static getIdleCanvas(): HTMLCanvasElement;
    static getIdleCtx(): CanvasRenderingContext2D;
    static getMergedOptions(options?: Partial<typeof this.options>): {
        width: number;
        height: number;
        font: string;
        textBaseline: CanvasTextBaseline;
        lineWidth: number;
        fillStyle: string;
        strokeStyle: string;
    };
    static setCtxStyle(options: typeof this.options, canvas?: HTMLCanvasElement, ctx?: CanvasRenderingContext2D): void;
    static getLazyIndexDbTextTextureWorker(): any;
    static getTextureRectByTexts(text: string, options?: Partial<typeof this.options> & {
        maxWidth?: number;
    }): Promise<{
        width: number;
        height: number;
        lines: number;
        lineString: string[];
    }>;
    static splitText(text: string, ctx: CanvasRenderingContext2D, maxWidth: number): string[];
    static getTextureByText(text: string, options?: Partial<typeof this.options> & {
        maxWidth?: number;
    }): Promise<{
        texture: DataTexture;
        lines: number;
    }>;
    static lazyGetTextureByTexts(texts: string[], options?: Partial<typeof this.options>): Promise<Record<string, TextureOffsetMap>>;
    private static getTextsByWorker;
    private static getTextsByBrowserIdle;
    private static getTextsByReqAniFrame;
    private static getTextsSync;
    static getTextureByTexts(texts: string[], options?: Partial<typeof this.options>): {
        texture: DataTexture;
        offsetMap: Record<string, {
            width: number;
            height: number;
            x: number;
            y: number;
        }>;
    };
    static dispose(): void;
}
export {};
