import { Box3, BufferGeometry, type ColorRepresentation, Group, InstancedInterleavedBuffer, Mesh, Vector3 } from 'three';
export declare class InstancedArrows extends Group {
    isInstancedArrows: boolean;
    count: number;
    arrowLength: number;
    shaftRadius: number;
    headLength: number;
    headWidth: number;
    shaftMesh: Mesh;
    headMesh: Mesh;
    attributes: BufferGeometry['attributes'];
    poses: InstancedInterleavedBuffer;
    constructor(options?: {
        count?: number;
        length?: number;
        shaftRadius?: number;
        headLength?: number;
        headWidth?: number;
        alpha?: boolean;
        uniformColor?: ColorRepresentation;
    });
    update(arrows: {
        poses?: Float32Array;
        colors?: Uint8Array;
        headAtPose?: boolean;
    }): void;
    getBoundingBoxAt(instanceId: number, target: Box3): Box3;
    getPoseAt(instanceID: number, origin: Vector3, direction: Vector3): void;
    dispose(): void;
}
