import { PerspectiveCamera, Scene, WebGLRenderer } from 'three';
import { Vec2, Vec3 } from '../../../sdk';
import { Emitter, ObjectMap, ObjectMapEntry } from './EventEmitter';
export type PickResult = {
    match: ObjectMapEntry | null;
    position: Promise<Vec3> | null;
} | false;
/**
 * Used internally by the `EventEmitter` component
 * @internal
 */
export declare class PickingHelper {
    private _size;
    private _threshold;
    private _renderTarget;
    private _pixelBuffer;
    private _currentId;
    constructor(options?: {});
    pick(point: Vec2, renderer: WebGLRenderer, scene: Scene, camera: PerspectiveCamera, emitters: Map<number, Emitter>, objectMap: ObjectMap, force?: boolean): Promise<PickResult>;
    dispose(): void;
}
export declare const wellborePickingHelper: PickingHelper;
