import { CanvasContext } from '@bytedance/mona';
declare class CanvasContextImplement implements CanvasContext {
    private _ctx;
    private _ele;
    constructor(ele: HTMLCanvasElement | null);
    draw(reserve?: boolean, callback?: () => void): void;
    setFontSize(fontSize: number): void;
    setFillStyle(color: string): void;
    setLineCap(lineCap: 'butt' | 'round' | 'square'): void;
    setLineJoin(lineJoin: 'bevel' | 'round' | 'miter'): void;
    setLineWidth(lineWidth: number): void;
    setMiterLimit(miterLimit: number): void;
    setTextBaseline(textBaseline: 'alphabetic' | 'top' | 'hanging' | 'middle' | 'ideographic' | 'bottom'): void;
    setStrokeStyle(color: string): void;
    setGlobalAlpha(alpha: number): void;
    setTextAlign(align: 'left' | 'center' | 'right'): void;
    setLineDash(pattern: number[], offset: number): void;
    createLinearGradient(sx: number, sy: number, dx: number, dy: number): CanvasGradient;
    setTransform(scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void;
    beginPath(): void;
    clip(): void;
    lineTo(x: number, y: number): void;
    transform(scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void;
    fill(): void;
    stroke(): void;
    fillRect(x: number, y: number, width: number, height: number): void;
    strokeRect(x: number, y: number, width: number, height: number): void;
    drawImage(imageResource: string, sx: number, sy: number, sw?: number, sh?: number, dx?: number, dy?: number, dw?: number, dh?: number): void;
    measureText(text: string): {
        width: number;
    };
    scale(scaleWidth: number, scaleHeight: number): void;
    rotate(rotate: number): void;
    translate(x: number, y: number): void;
    save(): void;
    restore(): void;
    clearRect(x: number, y: number, width: number, height: number): void;
    fillText(text: string, x: number, y: number, maxWidth?: number): void;
    moveTo(x: number, y: number): void;
    rect(x: number, y: number, width: number, height: number): void;
    arc(x: number, y: number, r: number, sAngle: number, eAngle: number, anticlockwise: boolean): void;
    quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
    bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
    closePath(): void;
}
export default CanvasContextImplement;
