import { SVG } from "../util";
import { PointL, PointS, RectL } from "./Primitives";
import { Region } from "./Region";
import { Brush, ColorRef, Pen } from "./Style";
export declare class GDIContext {
    private _svg;
    private _svgdefs;
    private _svgPatterns;
    private _svgClipPaths;
    private _svgPath;
    private defObjects;
    private state;
    private statestack;
    private objects;
    constructor(svg: SVG);
    setMapMode(mode: number): void;
    setWindowOrgEx(x: number, y: number): void;
    setWindowExtEx(x: number, y: number): void;
    setViewportOrgEx(x: number, y: number): void;
    setViewportExtEx(x: number, y: number): void;
    setBrushOrgEx(origin: PointL): void;
    saveDC(): void;
    restoreDC(saved: number): void;
    setStretchBltMode(stretchMode: number): void;
    rectangle(rect: RectL, rw: number, rh: number): void;
    lineTo(x: number, y: number): void;
    moveToEx(x: number, y: number): void;
    polygon(points: PointS[] | PointL[], bounds: RectL, first: boolean): void;
    polyPolygon(polygons: PointS[][] | PointL[][], bounds: RectL): void;
    polyline(isLineTo: boolean, points: PointS[], bounds: RectL): void;
    polybezier(isPolyBezierTo: boolean, points: PointS[], bounds: RectL): void;
    selectClipPath(rgnMode: number): void;
    selectClipRgn(rgnMode: number, region: Region): void;
    offsetClipRgn(offset: PointL): void;
    setTextAlign(textAlignmentMode: number): void;
    setMiterLimit(miterLimit: number): void;
    setBkMode(bkMode: number): void;
    setBkColor(bkColor: ColorRef): void;
    setPolyFillMode(polyFillMode: number): void;
    createBrush(index: number, brush: Brush): void;
    createPen(index: number, pen: Pen): void;
    createPenEx(index: number, pen: Pen): void;
    selectObject(objIdx: number, checkType: string): void;
    abortPath(): void;
    beginPath(): void;
    closeFigure(): void;
    fillPath(bounds: RectL): void;
    strokePath(bounds: RectL): void;
    endPath(): void;
    deleteObject(objIdx: number): void;
    private _pushGroup;
    private _getStockObject;
    private _storeObject;
    private _getObject;
    private _getSvgDef;
    private _getSvgClipPathForRegion;
    private _getSvgPatternForBrush;
    private _selectObject;
    private _deleteObject;
    private _getClipRgn;
    private _todevX;
    private _todevY;
    private _todevW;
    private _todevH;
    private _tologicalX;
    private _tologicalY;
    private _tologicalW;
    private _tologicalH;
    private _applyOpts;
}
