import { box, Destructor, scale, xy } from '@synnaxlabs/x';
export declare class SugaredOffscreenCanvasRenderingContext2D implements OffscreenCanvasRenderingContext2D {
    readonly scale_: scale.XY;
    readonly wrapped: OffscreenCanvasRenderingContext2D;
    constructor(wrap: OffscreenCanvasRenderingContext2D, scale_?: scale.XY);
    get fontStretch(): CanvasFontStretch;
    set fontStretch(value: CanvasFontStretch);
    get fontVariantCaps(): CanvasFontVariantCaps;
    set fontVariantCaps(value: CanvasFontVariantCaps);
    get wordSpacing(): string;
    set wordSpacing(value: string);
    get letterSpacing(): string;
    set letterSpacing(value: string);
    get textRendering(): CanvasTextRendering;
    set textRendering(value: CanvasTextRendering);
    reset(): void;
    applyScale(scale: scale.XY): SugaredOffscreenCanvasRenderingContext2D;
    get canvas(): OffscreenCanvas;
    get miterLimit(): number;
    set miterLimit(value: number);
    get globalAlpha(): number;
    set globalAlpha(value: number);
    get globalCompositeOperation(): GlobalCompositeOperation;
    set globalCompositeOperation(value: GlobalCompositeOperation);
    get fillStyle(): string | CanvasGradient | CanvasPattern;
    set fillStyle(value: string | CanvasGradient | CanvasPattern);
    get strokeStyle(): string | CanvasGradient | CanvasPattern;
    set strokeStyle(value: string | CanvasGradient | CanvasPattern);
    commit(): void;
    drawImage(image: CanvasImageSource, dx: number, dy: number): void;
    drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;
    drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
    drawImage(image: CanvasImageSource, dx: number, dy: number): void;
    drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;
    drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
    beginPath(): void;
    clip(fillRule?: CanvasFillRule | undefined): void;
    clip(path: Path2D, fillRule?: CanvasFillRule | undefined): void;
    fill(fillRule?: CanvasFillRule | undefined): void;
    fill(path: Path2D, fillRule?: CanvasFillRule | undefined): void;
    isPointInPath(x: number, y: number, fillRule?: CanvasFillRule | undefined): boolean;
    isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule | undefined): boolean;
    isPointInStroke(x: number, y: number): boolean;
    isPointInStroke(path: Path2D, x: number, y: number): boolean;
    stroke(): void;
    stroke(path: Path2D): void;
    createConicGradient(startAngle: number, x: number, y: number): CanvasGradient;
    createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
    createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;
    createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
    get filter(): string;
    set filter(value: string);
    createImageData(sw: number, sh: number, settings?: ImageDataSettings | undefined): ImageData;
    createImageData(imagedata: ImageData): ImageData;
    getImageData(sx: number, sy: number, sw: number, sh: number, settings?: ImageDataSettings | undefined): ImageData;
    putImageData(imagedata: ImageData, dx: number, dy: number): void;
    putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void;
    get imageSmoothingEnabled(): boolean;
    set imageSmoothingEnabled(value: boolean);
    get imageSmoothingQuality(): ImageSmoothingQuality;
    set imageSmoothingQuality(value: ImageSmoothingQuality);
    arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean | undefined): void;
    arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
    bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
    closePath(): void;
    ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean | undefined): void;
    lineTo(x: number, y: number): void;
    moveTo(x: number, y: number): void;
    quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
    rect(x: number, y: number, w: number, h: number): void;
    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Array<number | DOMPointInit> | undefined): void;
    get lineCap(): CanvasLineCap;
    set lineCap(value: CanvasLineCap);
    get lineDashOffset(): number;
    set lineDashOffset(value: number);
    get lineJoin(): CanvasLineJoin;
    set lineJoin(value: CanvasLineJoin);
    get lineWidth(): number;
    set lineWidth(value: number);
    getLineDash(): number[];
    setLineDash(segments: number[]): void;
    setLineDash(segments: Iterable<number>): void;
    clearRect(x: number, y: number, w: number, h: number): void;
    fillRect(x: number, y: number, w: number, h: number): void;
    strokeRect(x: number, y: number, w: number, h: number): void;
    get shadowBlur(): number;
    set shadowBlur(value: number);
    get shadowColor(): string;
    set shadowColor(value: string);
    get shadowOffsetX(): number;
    set shadowOffsetX(value: number);
    get shadowOffsetY(): number;
    restore(): void;
    save(): void;
    fillText(text: string, x: number, y: number, maxWidth?: number | undefined): void;
    measureText(text: string): TextMetrics;
    strokeText(text: string, x: number, y: number, maxWidth?: number | undefined): void;
    get direction(): CanvasDirection;
    set direction(value: CanvasDirection);
    get font(): string;
    set font(value: string);
    get fontKerning(): CanvasFontKerning;
    set fontKerning(value: CanvasFontKerning);
    get textAlign(): CanvasTextAlign;
    set textAlign(value: CanvasTextAlign);
    get textBaseline(): CanvasTextBaseline;
    set textBaseline(value: CanvasTextBaseline);
    getTransform(): DOMMatrix;
    resetTransform(): void;
    rotate(angle: number): void;
    scale(x: number, y: number): void;
    scissor(region: box.Box, overScan?: xy.XY): Destructor;
    setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
    setTransform(transform?: DOMMatrix2DInit | undefined): void;
    transform(a: number, b: number, c: number, d: number, e: number, f: number): void;
    translate(x: number, y: number): void;
}
//# sourceMappingURL=canvas.d.ts.map