/**
 * Tipos e interfaces para o cálculo de tempo de corte
 */
export interface Point {
    x: number;
    y: number;
}
export interface Movement {
    start: Point;
    end: Point;
    isCutting: boolean;
}
export declare enum SVGElementType {
    Line = "line",
    Polyline = "polyline",
    Polygon = "polygon",
    Path = "path",
    Circle = "circle",
    Ellipse = "ellipse",
    Rect = "rect"
}
export interface ProcessedSVGElement {
    type: SVGElementType;
    points: Point[];
    isClosed: boolean;
}
export interface CuttingTimeResult {
    totalTimeSec: number;
    cuttingTimeSec: number;
    movementTimeSec: number;
    piercingTimeSec: number;
    setupTimeSec: number;
    totalDistance: number;
    cuttingDistance: number;
    movementDistance: number;
    pierceCount: number;
    partCount: number;
    cutAreaWidth?: number;
    cutAreaHeight?: number;
}
export interface CuttingTimeOptions {
    materialThickness: number;
    kerf?: number;
    leadIn?: number;
    leadOut?: number;
    piercingType?: 'normal' | 'flying';
    optimize?: boolean;
    scaleFactor?: number;
}
