import { TileModel } from "src/class/tileModel";
import { ToolbarOptions } from "./toolBar.interface";
import { InputSetColor } from "src/class/styleElement";
import { IInputObjs3DTile } from "./sceneManager.interface";
import { TaskColorByObj } from "./styleElement.interface";
import { IViewSave, IViewSave2D } from "src/services/utilsView";
import { ExtentionToolBar, IOptionExtension } from "src/services/extensionToolbar";
import { IInputSetMap, IObjInputMap } from "./map.interface";
import { IssuePoint } from "src/services/issuePoint/issuePoint";
import { Viewer } from "cesium";
export interface IDPUViewer {
    viewer: Viewer | undefined;
    optionToolbar?: ToolbarOptions;
    setDarkTheme(dark: boolean): void;
    setLocationHome(inputLocation: {
        longitude: number;
        latitude: number;
        height?: number;
        angle?: number;
        pitch?: number;
        duration?: number;
    }): void;
    flyToHomeLocation(): void;
    flyToLocation(longitude: number, latitude: number, height?: number, duration?: number): void;
    load3DTileUrl(url: string, name?: string, urlConnect?: string, inputObjs?: IInputObjs3DTile): Promise<TileModel | undefined>;
    loadTree3DTileUrl(url: string, obj: any): Promise<TileModel[]>;
    getModelTreeUrl(url: string, maximumScreen?: number): Promise<TileModel[]>;
    loadKMZ(url: string, name: string, inputObjs?: IInputObjs3DTile): Promise<TileModel | undefined>;
    load3DTileById(url: string, name: string, urlConnect?: string, inputObjs?: IInputObjs3DTile): Promise<TileModel | undefined>;
    loadPathCameraKMZ(url: string, name?: string): void;
    loadLabelPointFromUrl(url: string, loadFormJson?: boolean, dataJson?: any, isShow?: boolean): void;
    zoomToTile(tile: any): void;
    setColor(inputObjs: InputSetColor[]): Promise<void>;
    resetDefaultColor(): void;
    resetAllDefaultColor(): void;
    resetAllColor(): void;
    setColorByTask(completeObj: TaskColorByObj, inProgressObj: TaskColorByObj): void;
    isolateObjs(inputObjs: any[]): Promise<void>;
    resetAllDefaultIsolate(): void;
    resetDefaultIsolate(): void;
    resetAllIsolate(): void;
    clearObjDataPrimitive(): void;
    zoomToObjects(inputObjs: any[]): Promise<void>;
    getObjectIdsBySelect(): any[] | undefined;
    destroyView(): void;
    saveViewCamera: () => IViewSave | IViewSave2D | undefined;
    loadViewCamera(viewSave: IViewSave | IViewSave2D): void;
    createExtentionToolBar: (callback: (data: any) => void, option: IOptionExtension) => ExtentionToolBar | undefined;
    getOptionMap: () => IObjInputMap | undefined;
    setOptionMap(objMap: IObjInputMap): void;
    setInputMap(inputMap: IInputSetMap): void;
    getHidenTreeViews: () => any[] | undefined;
    callBackGetHiddenTreeViews: (callback: (data: any) => void) => any | undefined;
    callBackLabelPoint: (callback: (data: any) => void, toggle?: boolean, isDev?: boolean) => any | undefined;
    callBackMap: (callback: (data: any) => void) => any | undefined;
    issuePoint: (callback?: (data: any) => void) => IssuePoint | undefined;
    handleZoomEarth: (isZoom: boolean) => void;
    onChangeMap: (url: number, mapUrls?: {
        id: string;
        url: string;
    }[]) => void;
    flyToYourLocation: (zDistance?: number, duration?: number) => void;
    locationPickPin: (callback?: (data: {
        longitude: number;
        latitude: number;
    } | null) => void) => void;
    removePickPin: () => void;
}
