import { OutlinedArea, TrajectoryArea, TrajectoryPoint } from "./ImageTracer"; interface SvgLineBaseAttributes { type: string; x1: number; y1: number; x2: number; y2: number; } interface SvgLineAttributesL extends SvgLineBaseAttributes { type: 'L'; } interface SvgLineAttributesQ extends SvgLineBaseAttributes { type: 'Q'; x3: number; y3: number; } export type SvgLineAttributes = SvgLineAttributesL | SvgLineAttributesQ; export declare namespace SvgLineAttributes { function toString(la: SvgLineAttributes): string; } export declare class PathTracer { trace(path: TrajectoryArea, lineErrorMargin: number, curveErrorMargin: number): OutlinedArea; /** * Find sequence of points with 2 trajectories. * * @param points * @param startIx * @returns The index where the next sequence starts */ protected findNextSequenceStartIx(points: TrajectoryPoint[], startIx: number): number; protected getPathCommandsOfSequence(points: TrajectoryPoint[], lineErrorMargin: number, curveErrorMargin: number, sequenceStartIx: number, sequenceEndIx: number): SvgLineAttributes[]; protected checkSequenceFitsLine(points: TrajectoryPoint[], lineErrorMargin: number, sequenceStartIx: number, sequenceEndIx: number): SvgLineAttributesL | number; protected checkSequenceFitsCurve(points: TrajectoryPoint[], curveErrorMargin: number, sequenceStartIx: number, sequenceEndIx: number, turningPointIx: number): SvgLineAttributesQ | number; } export {}; //# sourceMappingURL=PathTracer.d.ts.map