export class RibbonX {
    /**
     *
     * @type {BufferGeometry}
     * @private
     */
    private __geometry;
    /**
     *
     * @type {RowFirstTable}
     * @private
     */
    private __data;
    /**
     * Index into current geometry segment that is at the END of the ribbon
     * @type {number}
     * @private
     */
    private __tail_index;
    /**
     * Index into current geometry segment that is at the START of the ribbon
     * @type {number}
     * @private
     */
    private __head_index;
    /**
     *
     * @type {number}
     * @private
     */
    private __tail_quad_index;
    /**
     * Number of segments
     * @type {number}
     * @private
     */
    private __count;
    dispose(): void;
    /**
     *
     * @returns {BufferGeometry}
     */
    getGeometry(): BufferGeometry;
    /**
     *
     * @returns {number}
     */
    getCount(): number;
    getHeadIndex(): number;
    getTailIndex(): number;
    buildGeometry(): void;
    __ib_uint8: InterleavedBuffer;
    __ib_float32: InterleavedBuffer;
    __iba_position: InterleavedBufferAttribute;
    __iba_position_previous: InterleavedBufferAttribute;
    __iba_position_next: InterleavedBufferAttribute;
    __iba_color: InterleavedBufferAttribute;
    __iba_offset: InterleavedBufferAttribute;
    __iba_uv: InterleavedBufferAttribute;
    __iba_age: InterleavedBufferAttribute;
    __iba_alpha: InterleavedBufferAttribute;
    __iba_thickness: InterleavedBufferAttribute;
    __ba_index: BufferAttribute;
    initializeAttribute_Offset(): void;
    /**
     * Build initial faces
     */
    initializeAttribute_Index(): void;
    /**
     *
     * @param {number[]|Float32Array} result
     * @param {number} index
     */
    getPointPosition(result: number[] | Float32Array, index: number): void;
    /**
     *
     * @param {number} point_index
     * @param {number} attribute_index
     * @param {number} x
     * @param {number} y
     * @param {number} z
     */
    setPointAttribute_Vector3(point_index: number, attribute_index: number, x: number, y: number, z: number): void;
    /**
     *
     * @param {number} point_index
     * @param {number} attribute_index
     * @param {number} value
     */
    setPointAttribute_Scalar(point_index: number, attribute_index: number, value: number): void;
    /**
     *
     * @param {number} point_index
     * @param {number} attribute_index
     * @param {number} delta
     * @returns {number} incremented value
     */
    incrementPointAttribute_Scalar(point_index: number, attribute_index: number, delta: number): number;
    /**
     *
     * @param {number} point_index_source
     * @param {number} attribute_index_source
     * @param {number} point_index_destination
     * @param {number} attribute_destination
     */
    copyPointAttribute_Vector3(point_index_source: number, attribute_index_source: number, point_index_destination: number, attribute_destination: number): void;
    setPointPosition(index: any, x: any, y: any, z: any): void;
    /**
     *
     * @param {number} index
     * @param {number} r
     * @param {number} g
     * @param {number} b
     */
    setPointColor(index: number, r: number, g: number, b: number): void;
    /**
     *
     * @param {number} index
     * @param {number} value
     */
    setPointAlpha(index: number, value: number): void;
    /**
     *
     * @param {number} index
     * @param {number} value
     */
    setPointThickness(index: number, value: number): void;
    /**
     *
     * @param {number} count Number of points in the ribbon
     */
    setCount(count: number): void;
    /**
     * NOTE: takes trail thickness into account
     * @param {AABB3|ArrayLike<number>} result
     */
    computeBoundingBox(result: AABB3 | ArrayLike<number>): void;
    /**
     * Move tail of the ribbon to it's head
     */
    rotate(): void;
}
import { BufferGeometry } from "three";
import { InterleavedBuffer } from "three";
import { InterleavedBufferAttribute } from "three";
import { BufferAttribute } from "three";
//# sourceMappingURL=RibbonX.d.ts.map