import { SVG } from "../util";
import { DIBitmap } from "./Bitmap";
import { Blob } from "./Blob";
import { PointS, Rect } from "./Primitives";
import { Region } from "./Region";
import { Brush, ColorRef, Font, Palette, Pen } from "./Style";
export declare class GDIContext {
    private _svg;
    private _svgdefs;
    private _svgPatterns;
    private _svgClipPaths;
    private defObjects;
    private state;
    private statestack;
    private objects;
    constructor(svg: SVG);
    setMapMode(mode: number): void;
    setWindowOrg(x: number, y: number): void;
    setWindowExt(x: number, y: number): void;
    offsetWindowOrg(offX: number, offY: number): void;
    setViewportOrg(x: number, y: number): void;
    setViewportExt(x: number, y: number): void;
    offsetViewportOrg(offX: number, offY: number): void;
    saveDC(): void;
    restoreDC(saved: number): void;
    escape(func: number, blob: Blob, offset: number, count: number): void;
    setStretchBltMode(stretchMode: number): void;
    stretchDib(srcX: number, srcY: number, srcW: number, srcH: number, dstX: number, dstY: number, dstW: number, dstH: number, rasterOp: number, colorUsage: number, dib: DIBitmap): void;
    dibBits(srcX: number, srcY: number, dstX: number, dstY: number, width: number, height: number, rasterOp: number, dib: DIBitmap): void;
    stretchDibBits(srcX: number, srcY: number, srcW: number, srcH: number, dstX: number, dstY: number, dstW: number, dstH: number, rasterOp: number, dib: DIBitmap): void;
    rectangle(rect: Rect, rw: number, rh: number): void;
    textOut(x: number, y: number, text: string): void;
    extTextOut(x: number, y: number, text: string, fwOpts: number, rect: Rect, dx: number[]): void;
    lineTo(x: number, y: number): void;
    moveTo(x: number, y: number): void;
    polygon(points: PointS[], first: boolean): void;
    polyPolygon(polygons: PointS[][]): void;
    polyline(points: PointS[]): void;
    ellipse(rect: Rect): void;
    excludeClipRect(rect: Rect): void;
    intersectClipRect(rect: Rect): void;
    offsetClipRgn(offX: number, offY: number): void;
    setTextAlign(textAlignmentMode: number): void;
    setBkMode(bkMode: number): void;
    setTextColor(textColor: ColorRef): void;
    setBkColor(bkColor: ColorRef): void;
    setPolyFillMode(polyFillMode: number): void;
    createBrush(brush: Brush): void;
    createFont(font: Font): void;
    createPen(pen: Pen): void;
    createPalette(palette: Palette): void;
    createRegion(region: Region): void;
    createPatternBrush(patternBrush: Brush): void;
    selectObject(objIdx: number, checkType: string): void;
    deleteObject(objIdx: number): void;
    private _pushGroup;
    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;
}
