import { Base, Type, Nullable$1 } from "igniteui-webcomponents-core";
import { IPath2DCommandVisitor$2 } from "igniteui-webcomponents-excel";
import { ShapeGuideVariables } from "./ShapeGuideVariables";
import { CT_Path2DArcTo } from "igniteui-webcomponents-excel";
import { CT_Path2DClose } from "igniteui-webcomponents-excel";
import { CT_Path2DCubicBezierTo } from "igniteui-webcomponents-excel";
import { CT_Path2DLineTo } from "igniteui-webcomponents-excel";
import { CT_Path2DMoveTo } from "igniteui-webcomponents-excel";
import { CT_Path2DQuadBezierTo } from "igniteui-webcomponents-excel";
import { StringBuilder } from "igniteui-webcomponents-core";
import { WorksheetShape } from "igniteui-webcomponents-excel";
import { Rect } from "igniteui-webcomponents-core";
import { FormattedText } from "igniteui-webcomponents-excel";
import { ShapeFill } from "igniteui-webcomponents-excel";
import { Worksheet } from "igniteui-webcomponents-excel";
import { ShapeOutline } from "igniteui-webcomponents-excel";
import { CT_Path2D } from "igniteui-webcomponents-excel";
import { CT_CustomGeometry2D } from "igniteui-webcomponents-excel";
import { ST_AdjAngle } from "igniteui-webcomponents-excel";
import { ST_AdjCoordinate } from "igniteui-webcomponents-excel";
import { ST_Coordinate32 } from "igniteui-webcomponents-excel";
/**
 * @hidden
 */
export declare abstract class ShapeGeometryPathBuilder extends Base implements IPath2DCommandVisitor$2<ShapeGuideVariables, boolean> {
    static $t: Type;
    protected a: number;
    protected b: number;
    protected readonly e: number;
    protected readonly f: number;
    protected readonly c: number;
    protected readonly d: number;
    constructor(a: number, b: number, c: number, d: number);
    protected abstract h(a: number, b: number, c: number, d: number, e: number, f: number): void;
    protected abstract i(): void;
    protected abstract j(a: number, b: number, c: number, d: number, e: number, f: number): void;
    protected abstract k(a: number, b: number): void;
    protected abstract l(a: number, b: number): void;
    protected m(a: number, b: number, c: number, d: number): void;
    protected static g(a: number, b: number, c: number): number;
    visitCT_Path2DArcTo(value: CT_Path2DArcTo, argument: ShapeGuideVariables): boolean;
    _visitCT_Path2DArcTo$i(a: CT_Path2DArcTo, b: ShapeGuideVariables): boolean;
    visitCT_Path2DClose(value: CT_Path2DClose, argument: ShapeGuideVariables): boolean;
    _visitCT_Path2DClose$i(a: CT_Path2DClose, b: ShapeGuideVariables): boolean;
    visitCT_Path2DCubicBezierTo(value: CT_Path2DCubicBezierTo, argument: ShapeGuideVariables): boolean;
    _visitCT_Path2DCubicBezierTo$i(a: CT_Path2DCubicBezierTo, b: ShapeGuideVariables): boolean;
    visitCT_Path2DLineTo(value: CT_Path2DLineTo, argument: ShapeGuideVariables): boolean;
    _visitCT_Path2DLineTo$i(a: CT_Path2DLineTo, b: ShapeGuideVariables): boolean;
    visitCT_Path2DMoveTo(value: CT_Path2DMoveTo, argument: ShapeGuideVariables): boolean;
    _visitCT_Path2DMoveTo$i(a: CT_Path2DMoveTo, b: ShapeGuideVariables): boolean;
    visitCT_Path2DQuadBezierTo(value: CT_Path2DQuadBezierTo, argument: ShapeGuideVariables): boolean;
    _visitCT_Path2DQuadBezierTo$i(a: CT_Path2DQuadBezierTo, b: ShapeGuideVariables): boolean;
}
/**
 * @hidden
 */
export declare class SvgPathCreator extends ShapeGeometryPathBuilder {
    static $t: Type;
    private readonly n;
    constructor(a: StringBuilder, b: number, c: number, d: number, e: number);
    protected h(a: number, b: number, c: number, d: number, e: number, f: number): void;
    protected i(): void;
    protected j(a: number, b: number, c: number, d: number, e: number, f: number): void;
    protected k(a: number, b: number): void;
    protected l(a: number, b: number): void;
    protected m(a: number, b: number, c: number, d: number): void;
    private o;
    private p;
}
/**
 * @hidden
 */
export declare class ShapeGeometry extends Base {
    static $t: Type;
    static staticInit(): void;
    private static q;
    private static s;
    private static o;
    private static x;
    private static u;
    private readonly e;
    private readonly p;
    private readonly i;
    private readonly j;
    private static readonly a;
    private static readonly b;
    private static readonly c;
    private static readonly d;
    constructor(a: string, b: CT_CustomGeometry2D);
    static g(a: FormattedText): boolean;
    static w<T>($t: Type, a: T, b: number, c: number, d: WorksheetShape, e: (arg1: T, arg2: Worksheet, arg3: CT_Path2D, arg4: ShapeGuideVariables, arg5: number, arg6: number, arg7: ShapeFill, arg8: ShapeOutline, arg9: ShapeFill) => void): Rect;
    static h(a: WorksheetShape): boolean;
    static k(a: ShapeGuideVariables, b: ST_AdjAngle): number;
    static l(a: ShapeGuideVariables, b: ST_AdjCoordinate): number;
    static m(a: Nullable$1<ST_Coordinate32>, b: number): number;
    static n(a: ShapeGuideVariables, b: ST_AdjCoordinate): number;
    private static r;
    private static t;
    private static f;
    private v;
}
/**
 * @hidden
 */
export declare class PredefinedShapes extends Base {
    static $t: Type;
    private static a;
    private f;
    constructor();
    static readonly b: PredefinedShapes;
    c(a: CT_CustomGeometry2D): ShapeGeometry;
    d(a: string): ShapeGeometry;
    private static i;
    private static h;
    private j;
    private k;
    private l;
    private m;
    private n;
    private p;
    private o;
    private static e;
    private static g;
}
