export class Ribbon {
    /**
     *
     * @param {number} length
     * @param {number} width
     * @constructor
     */
    constructor(length: number, width: number);
    geometry: PlaneBufferGeometry;
    quads: any[];
    __tail: any;
    __head: any;
    length: number;
    /**
     *
     * @returns {Quad}
     */
    head(): Quad;
    /**
     *
     * @returns {Quad}
     */
    tail(): Quad;
    /**
     *
     * @param {Vector3} v3
     */
    moveToPoint(v3: Vector3): void;
    /**
     *
     * @param {Vector3} position
     * @param {Vector3} normal
     * @param {number} width
     */
    positionHead(position: Vector3, normal: Vector3, width: number): void;
    /**
     *
     * @param {number} startValue
     * @param {number} endValue
     * @param {function} callback
     */
    traverseLerpEdges(startValue: number, endValue: number, callback: Function): void;
    /**
     *
     * @param {function(a:number, b:number, i:number, length:number)} callback
     */
    traverseEdges(callback: any): void;
    validate(): void;
    /**
     * moves last segment of ribbon to become new head
     */
    rotate(): this;
}
import { PlaneBufferGeometry } from 'three';
import { Quad } from "./Quad.js";
import Vector3 from "../../../../core/geom/Vector3.js";
//# sourceMappingURL=Ribbon.d.ts.map