/**
 * @module viw-webgl-component
 */
import * as VIM from 'vim-webgl-viewer/';
/**
 * Wraps the webgl viewer and provide higher level methods
 */
export declare class ComponentCamera {
    private _viewer;
    constructor(viewer: VIM.Viewer);
    /**
     * Resets the camera to its initial position.
     */
    reset(): void;
    /**
     * Frames selected elements if there is an active selection; otherwise, frames all visible objects.
     * @param duration Optional duration of the camera movement animation (default: 1).
     */
    frameContext(duration?: number): void;
    /**
     * Frames selected elements if there is an active selection; otherwise, does nothing.
     * @param duration Optional duration of the camera movement animation (default: 1).
     */
    frameSelection(duration?: number): void;
    /**
   * Frames all visible objects in the scene.
   * @param source Optional VIM to specify the source of objects to frame.
   * @param duration Duration of the camera movement animation (default: 1).
   */
    frameVisibleObjects(source?: VIM.Vim, duration?: number): void;
    /**
     * Returns the bounding box of all visible objects.
     * @param source Optional VIM to specify the source of visible objects.
     * @returns The bounding box of all visible objects.
     */
    getVisibleBoundingBox(source?: VIM.Vim): VIM.THREE.Box3;
}
