import { Rect } from './utils/math2d';
import { CurveTo, EllipticalArc } from './command';
import { PathNode } from './path-node';
export declare type EllipseParams = {
    cx: number;
    cy: number;
    rx: number;
    ry: number;
    phi: number;
};
export declare type EllipticalArcParams = EllipseParams & {
    theta: number;
    deltaTheta: number;
};
export declare function getCenterParams(node: Readonly<PathNode & EllipticalArc>): EllipticalArcParams;
export declare function getEllipsePoint(ellipse: Readonly<EllipseParams>, theta: number): {
    x: number;
    y: number;
};
export declare function getEllipseTangent(ellipse: Readonly<EllipseParams>, theta: number): {
    x: number;
    y: number;
};
export declare function ellipticalArcToCurve(x: number, y: number, ellipse: Readonly<EllipseParams>, theta1: number, theta2: number, prev?: PathNode): PathNode & CurveTo;
export declare function approximateEllipticalArc(node: Readonly<PathNode & EllipticalArc>): PathNode[];
export declare function getEllipticalArcBoundingRect(node: Readonly<PathNode & EllipticalArc>): Rect;
