import { SFont, SLine, SPaintEngineType, SPath2D, SPoint, SRect } from ".."; import { SPaintState } from "./SPaintState"; export declare abstract class SPaintEngine { private _state; get state(): SPaintState; set state(value: SPaintState); private stateStack; abstract get type(): SPaintEngineType; save(): void; restore(): void; translate(x: number, y: number): void; scale(x: number, y: number): void; rotate(angle: number): void; transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; setTransform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; resetTransform(): void; abstract setClip(path: Path2D): void; abstract clearRect(rect: SRect): void; abstract drawRect(rect: SRect): void; abstract drawCircle(cx: number, cy: number, r: number): void; abstract drawEllipse(cx: number, cy: number, rx: number, ry: number): void; abstract drawArc(x: number, y: number, width: number, height: number, startRadian: number, endRadian: number): void; abstract drawChord(x: number, y: number, width: number, height: number, startRadian: number, endRadian: number): void; abstract drawPie(x: number, y: number, width: number, height: number, startAngle: number, endAngle: number): void; abstract drawLine(line: SLine): void; abstract drawPolyline(points: SPoint[]): void; abstract drawPolygon(points: SPoint[]): void; abstract drawPath(path: SPath2D): void; abstract drawText(text: string, x: number, y: number, maxWidth?: number): void; abstract drawImage(img: CanvasImageSource, x: number, y: number, width?: number, height?: number): void; abstract textWidth(text: string): number; abstract changeFont(font: SFont): void; }