import { Clock, PerspectiveCamera, Vector2 } from 'three';
import { Vec3 } from '../../sdk';
import { AnnotationInstance } from './types';
/**
 * PRE-PROCESS INSTANCES
 */
export declare function preprocessInstances(instances: AnnotationInstance[], camera: PerspectiveCamera, clock: Clock, maxVisible: number): AnnotationInstance[];
/**
 * OCCLUSION TEST
 */
export declare function occlustionTestIntstances(candidates: {
    instance: AnnotationInstance;
    position: Vec3;
}[], depthBuffer: Float32Array, depthBufferWidth: number, depthBufferHeight: number): Promise<void>;
/**
 * POST PROCESS INSTANCES
 */
export declare function postProcessInstances(instances: AnnotationInstance[], size: Vector2): void;
export declare function updateInstanceDOMElements(instances: AnnotationInstance[]): void;
