/// <reference types="offscreencanvas" />
import { ctor, EmscriptenGL, Point, Vector } from '../types';
export interface WebFont {
    name: string;
    style: string;
    size: number;
    bold: boolean;
    italic: boolean;
}
export declare class WebMask {
    static create(width: number, height: number): WebMask;
    private static getLineCap;
    private static getLineJoin;
    protected canvas: HTMLCanvasElement | OffscreenCanvas;
    private context;
    constructor(canvas: HTMLCanvasElement | OffscreenCanvas, width: number, height: number);
    fillPath(path: Path2D, fillType: ctor): void;
    fillText(webFont: WebFont, texts: Vector<string>, positions: Vector<Point>, matrixWasmIns: any): void;
    strokeText(webFont: WebFont, stroke: {
        width: number;
        cap: ctor;
        join: ctor;
        miterLimit: number;
    }, texts: Vector<string>, positions: Vector<Point>, matrixWasmIns: any): void;
    clear(): void;
    update(GL: EmscriptenGL): void;
    onDestroy(): void;
}
