import { Viewer, BatchObject, PropertyInfo, DataTree, WorldTree, QueryResult, SunLightConfiguration, SpeckleView, CanonicalView, InlineView, VisualDiffMode, DiffResult, MeasurementOptions, ViewerParams } from '..';
import { FilteringState } from './extensions/FilteringExtension';
import { PolarView } from './extensions/core-extensions/Providers';
import { Query, QueryArgsResultMap } from './queries/Query';
export declare class LegacyViewer extends Viewer {
    private cameraController;
    private selection;
    private sections;
    private sectionOutlines;
    private measurements;
    private filtering;
    private explodeExtension;
    private diffExtension;
    private highlightExtension;
    constructor(container: HTMLElement, params?: ViewerParams);
    init(): Promise<void>;
    getRenderer(): import("./SpeckleRenderer").default;
    /** SECTION BOX */
    setSectionBox(box?: {
        min: {
            x: number;
            y: number;
            z: number;
        };
        max: {
            x: number;
            y: number;
            z: number;
        };
    }, offset?: number): void;
    getSectionBoxFromObjects(objectIds: string[]): import("three").Box3;
    setSectionBoxFromObjects(objectIds: string[], offset?: number): void;
    getCurrentSectionBox(): import("three").Box3;
    toggleSectionBox(): void;
    sectionBoxOff(): void;
    sectionBoxOn(): void;
    /** FILTERING */
    selectObjects(objectIds: string[]): Promise<FilteringState>;
    resetSelection(): Promise<FilteringState>;
    hideObjects(objectIds: string[], stateKey?: string, includeDescendants?: boolean, ghost?: boolean): Promise<FilteringState>;
    showObjects(objectIds: string[], stateKey?: string, includeDescendants?: boolean): Promise<FilteringState>;
    isolateObjects(objectIds: string[], stateKey?: string, includeDescendants?: boolean, ghost?: boolean): Promise<FilteringState>;
    unIsolateObjects(objectIds: string[], stateKey?: string, includeDescendants?: boolean): Promise<FilteringState>;
    highlightObjects(objectIds: string[]): Promise<FilteringState>;
    resetHighlight(): Promise<FilteringState>;
    setColorFilter(property: PropertyInfo, ghost?: boolean): Promise<FilteringState>;
    removeColorFilter(): Promise<FilteringState>;
    setUserObjectColors(groups: {
        objectIds: string[];
        color: string;
    }[]): Promise<FilteringState>;
    resetFilters(): Promise<FilteringState>;
    /** TREE */
    getDataTree(): DataTree;
    getWorldTree(): WorldTree;
    /** QUERIES */
    query<T extends Query>(query: T): QueryArgsResultMap[T['operation']];
    queryAsync(query: Query): Promise<QueryResult>;
    /** CAMERA */
    zoom(objectIds?: string[], fit?: number, transition?: boolean): void;
    setOrthoCameraOn(): void;
    setPerspectiveCameraOn(): void;
    toggleCameraProjection(): void;
    setLightConfiguration(config: SunLightConfiguration): void;
    getViews(): SpeckleView[];
    setView(view: CanonicalView | SpeckleView | InlineView | PolarView, transition?: boolean): void;
    /** MISC */
    screenshot(): Promise<string>;
    explode(time: number): void;
    getObjects(id: string): BatchObject[];
    /**
     * OBJECT LOADING/UNLOADING
     */
    loadObjectAsync(url: string, token?: string, enableCaching?: boolean, zoomToObject?: boolean): Promise<void>;
    diff(urlA: string, urlB: string, mode: VisualDiffMode, authToken?: string): Promise<DiffResult>;
    undiff(): Promise<void>;
    setDiffTime(diffResult: DiffResult, time: number): void;
    setVisualDiffMode(diffResult: DiffResult, mode: VisualDiffMode): void;
    enableMeasurements(value: boolean): void;
    setMeasurementOptions(options: MeasurementOptions): void;
    removeMeasurement(): void;
    dispose(): void;
}
