import { Box3, InstancedBufferAttribute, Matrix4, Mesh, Object3DEventMap, Sphere, Vector2Tuple } from 'three';
import { Signal } from '@preact/signals-core';
import { OrderInfo } from '../order.js';
import { ClippingRect } from '../clipping.js';
import { RootContext } from '../context.js';
import { FlexNodeState } from '../internals.js';
export declare function createInteractionPanel(orderInfo: Signal<OrderInfo | undefined>, rootContext: RootContext, parentClippingRect: Signal<ClippingRect | undefined> | undefined, globalMatrix: Signal<Matrix4 | undefined>, flexState: FlexNodeState): Mesh<import("three").PlaneGeometry, import("three").Material | import("three").Material[], Object3DEventMap> & {
    boundingSphere: Sphere;
};
export declare function setupInteractionPanel(panel: Mesh & {
    boundingSphere: Sphere;
}, rootContext: RootContext, globalMatrix: Signal<Matrix4 | undefined>, size: Signal<Vector2Tuple | undefined>, abortSignal: AbortSignal): void;
export declare class InstancedPanelMesh extends Mesh {
    readonly instanceMatrix: InstancedBufferAttribute;
    count: number;
    protected readonly isInstancedMesh = true;
    readonly instanceColor: null;
    readonly morphTexture: null;
    readonly boundingBox: Box3;
    readonly boundingSphere: Sphere;
    constructor(instanceMatrix: InstancedBufferAttribute, instanceData: InstancedBufferAttribute, instanceClipping: InstancedBufferAttribute);
    dispose(): void;
    copy(): this;
    computeBoundingBox(): void;
    computeBoundingSphere(): void;
    updateMorphTargets(): void;
    raycast(): void;
    spherecast(): void;
}
