/**
 * SVG path draw commands
 */
export declare type MoveTo = {
    name: 'M';
    x: number;
    y: number;
};
export declare type LineTo = {
    name: 'L';
    x: number;
    y: number;
};
export declare type HLineTo = {
    name: 'H';
    x: number;
};
export declare type VLineTo = {
    name: 'V';
    y: number;
};
export declare type ClosePath = {
    name: 'Z';
};
export declare type CurveTo = {
    name: 'C';
    x1: number;
    y1: number;
    x2: number;
    y2: number;
    x: number;
    y: number;
};
export declare type SmoothCurveTo = {
    name: 'S';
    x2: number;
    y2: number;
    x: number;
    y: number;
};
export declare type QCurveTo = {
    name: 'Q';
    x1: number;
    y1: number;
    x: number;
    y: number;
};
export declare type SmoothQCurveTo = {
    name: 'T';
    x: number;
    y: number;
};
export declare type EllipseShape = {
    rx: number;
    ry: number;
    angle: number;
    largeArcFlag: boolean;
    sweepFlag: boolean;
};
export declare type EllipticalArc = EllipseShape & {
    name: 'A';
    x: number;
    y: number;
};
export declare type DrawTo = MoveTo | LineTo | HLineTo | VLineTo | ClosePath | CurveTo | SmoothCurveTo | QCurveTo | SmoothQCurveTo | EllipticalArc;
export declare type DrawCommand = DrawTo['name'];
export declare function createDrawItem(name: DrawCommand, args: ReadonlyArray<number | string>): DrawTo;
