import type { Fn, IClear, IEmpty } from "@thi.ng/api";
import type { Attribs, IHiccupShape3, IPath, PathSegment3 } from "../api.js";
export declare class Path3 implements IClear, IEmpty<Path3>, IHiccupShape3<Path3>, IPath<PathSegment3> {
    attribs?: Attribs | undefined;
    readonly type = "path3";
    readonly dim = 3;
    segments: PathSegment3[];
    subPaths: PathSegment3[][];
    constructor(segments?: Iterable<PathSegment3>, subPaths?: Iterable<PathSegment3[]>, attribs?: Attribs | undefined);
    /**
     * Returns true, if the last main segment is a closing segment, e.g. if the
     * path represents a closed shape.
     */
    get closed(): boolean;
    [Symbol.iterator](): Generator<PathSegment3, void, any>;
    clear(): void;
    empty(): Path3;
    close(): this;
    copy(): Path3;
    copyTransformed(fn: Fn<PathSegment3[], PathSegment3[]>): Path3;
    withAttribs(attribs: Attribs): Path3;
    equiv(o: any): boolean;
    isComplex(): boolean;
    addSegments(...segments: PathSegment3[]): this;
    addSubPaths(...paths: PathSegment3[][]): this;
    toHiccup(): (string | any[] | Attribs)[];
}
//# sourceMappingURL=path3.d.ts.map