import type { ICanvasContext, IRectangle, ISearchResult } from '@fast-editor/core'; export declare class WebCanvasContext implements ICanvasContext { get canvas(): HTMLCanvasElement; get globalAlpha(): number; set globalAlpha(val: number); get globalCompositeOperation(): GlobalCompositeOperation; set globalCompositeOperation(val: GlobalCompositeOperation); get imageSmoothingEnabled(): boolean; set imageSmoothingEnabled(val: boolean); get imageSmoothingQuality(): ImageSmoothingQuality; set imageSmoothingQuality(val: ImageSmoothingQuality); get fillStyle(): string | CanvasGradient | CanvasPattern; set fillStyle(val: string | CanvasGradient | CanvasPattern); get strokeStyle(): string | CanvasGradient | CanvasPattern; set strokeStyle(val: string | CanvasGradient | CanvasPattern); get shadowBlur(): number; set shadowBlur(val: number); get shadowColor(): string; set shadowColor(val: string); get shadowOffsetX(): number; set shadowOffsetX(val: number); get shadowOffsetY(): number; set shadowOffsetY(val: number); get filter(): string; set filter(val: string); get lineCap(): CanvasLineCap; set lineCap(val: CanvasLineCap); get lineDashOffset(): number; set lineDashOffset(val: number); get lineJoin(): CanvasLineJoin; set lineJoin(val: CanvasLineJoin); get lineWidth(): number; set lineWidth(val: number); get miterLimit(): number; set miterLimit(val: number); get direction(): CanvasDirection; set direction(val: CanvasDirection); get font(): string; set font(val: string); get textAlign(): CanvasTextAlign; set textAlign(val: CanvasTextAlign); get textBaseline(): CanvasTextBaseline; set textBaseline(val: CanvasTextBaseline); private ctxDoc; private ctxCover; private domContainer; private SELECTION_AREA_COLOR; private SEARCH_RESULT_COLOR; private SEARCH_RESULT_CURRENT_ITEM_COLOR; constructor(ctxDoc: CanvasRenderingContext2D, ctxCover: CanvasRenderingContext2D, domContainer: HTMLDivElement); drawCursor(x: number, y: number, height: number, color: string): void; restore(): void; save(): void; getTransform(): DOMMatrix; resetTransform(): void; rotate(angle: number): void; scale(x: number, y: number): void; setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void; setTransform(transform?: DOMMatrix2DInit): void; transform(a: number, b: number, c: number, d: number, e: number, f: number): void; translate(x: number, y: number): void; createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; createPattern(image: CanvasImageSource, repetition: string): CanvasPattern | null; createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; 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; beginPath(): void; clip(fillRule?: CanvasFillRule): void; clip(path: Path2D, fillRule?: CanvasFillRule): void; fill(fillRule?: CanvasFillRule): void; fill(path: Path2D, fillRule?: CanvasFillRule): void; isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; isPointInStroke(x: number, y: number): boolean; isPointInStroke(path: Path2D, x: number, y: number): boolean; stroke(): void; drawFocusIfNeeded(element: Element): void; drawFocusIfNeeded(path: Path2D, element: Element): void; fillText(text: string, x: number, y: number, maxWidth?: number): void; measureText(text: string): TextMetrics; strokeText(text: string, x: number, y: number, maxWidth?: 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; createImageData(sw: number, sh: number): ImageData; createImageData(imagedata: ImageData): ImageData; getImageData(sx: number, sy: number, sw: number, sh: number): 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; getLineDash(): number[]; setLineDash(segments: number[]): void; arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): 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, anticlockwise?: boolean): 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; getContextAttributes(): CanvasRenderingContext2DSettings; createConicGradient(startAngle: number, x: number, y: number): CanvasGradient; drawSelectionArea(rects: IRectangle[], scrollTop: number, viewEnd: number, startIndex: number): void; drawSearchResult(results: ISearchResult[], scrollTop: number, viewEnd: number, startIndex: number, currentIndex?: number): void; getDomElementContainer(): HTMLDivElement; }