import { ESSceneObject, NativeNumber16Type, PickedInfo, PositionEditing, RotationEditing, Viewer } from "xbsj-xe2/dist-node/xe2-base-objects";
import { Event, JsonValue, Listener, PartialWithUndefinedReactivePropsToNativeProps, ReactivePropsToNativePropsAndChanged } from "xbsj-xe2/dist-node/xe2-base-utils";
import { SceneObject, SceneObjectKey, SceneObjectWithId } from "xbsj-xe2/dist-node/xe2-utils";
import * as Cesium from 'cesium';
import { CzmCzm3DTiles } from "../../CzmCzmObjects";
import { CzmAxis, CzmClassificationType, CzmClippingPlaneCollectionJsonType, CzmClippingPolygonCollectionJsonType, CzmImageBasedLightingJsonType, CzmPointCloudShadingJsonType, CzmShadowMode, CzmSplitDirection } from "../../utils";
import { CzmFlattenedPlane } from "../CzmFlattenedPlane";
export declare type FoveatedInterpolationCallbackType = (p: number, q: number, time: number) => number;
export declare type ESJResource = {
    url: string;
    queryParameters?: any;
    templateValues?: any;
    headers?: any;
    proxy?: any;
    retryCallback?: any;
    retryAttempts?: number;
    request?: any;
    parseUrl?: boolean;
};
export declare function getFoveatedInterpolationCallback(evalStr?: string): FoveatedInterpolationCallbackType;
export declare type Czm3DTilesCustomShaderClassType = {
    destroy(): undefined;
    get customShader(): Cesium.CustomShader;
};
export declare type Czm3DTilesCustomShaderInstanceClassType = new (sceneObject: Czm3DTiles, viewer: Viewer) => Czm3DTilesCustomShaderClassType;
export declare function getFinalCzm3DTilesUrlString(czm3DTilesUrl: string | ESJResource): string;
export declare function getCzmCodeFromCzm3DTiles(czm3DTiles: Czm3DTiles): string | undefined;
export declare class Czm3DTiles extends ESSceneObject {
    static readonly type: string;
    get typeName(): string;
    get defaultProps(): {
        position: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number] | undefined>;
        positionEditing: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<boolean>;
        rotation: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number] | undefined>;
        rotationEditing: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<boolean>;
        allowPicking: boolean;
        czmFlattenedPlaneId: string;
        url: string | ESJResource | undefined;
        show: boolean | undefined;
        modelMatrix: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<NativeNumber16Type | undefined>;
        modelUpAxis: CzmAxis | undefined;
        modelForwardAxis: CzmAxis | undefined;
        shadows: CzmShadowMode | undefined;
        maximumScreenSpaceError: number | undefined;
        maximumMemoryUsage: number | undefined;
        cacheBytes: number | undefined;
        maximumCacheOverflowBytes: number | undefined;
        cullWithChildrenBounds: boolean | undefined;
        cullRequestsWhileMoving: boolean | undefined;
        cullRequestsWhileMovingMultiplier: number | undefined;
        preloadWhenHidden: boolean | undefined;
        preloadFlightDestinations: boolean | undefined;
        preferLeaves: boolean | undefined;
        dynamicScreenSpaceError: boolean | undefined;
        dynamicScreenSpaceErrorDensity: number | undefined;
        dynamicScreenSpaceErrorFactor: number | undefined;
        dynamicScreenSpaceErrorHeightFalloff: number | undefined;
        progressiveResolutionHeightFraction: number | undefined;
        foveatedScreenSpaceError: boolean | undefined;
        foveatedConeSize: number | undefined;
        foveatedMinimumScreenSpaceErrorRelaxation: number | undefined;
        foveatedInterpolationCallbackStr: string | undefined;
        foveatedTimeDelay: number | undefined;
        skipLevelOfDetail: boolean | undefined;
        baseScreenSpaceError: number | undefined;
        skipScreenSpaceErrorFactor: number | undefined;
        skipLevels: number | undefined;
        immediatelyLoadDesiredLevelOfDetail: boolean | undefined;
        loadSiblings: boolean | undefined;
        clippingPlanes: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<CzmClippingPlaneCollectionJsonType | undefined>;
        clippingPlanesId: string;
        clippingPolygons: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<CzmClippingPolygonCollectionJsonType | undefined>;
        clippingPolygonsId: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<string[]>;
        absoluteClippingPlanes: boolean;
        classificationType: CzmClassificationType | undefined;
        ellipsoid: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[x: number, y: number, z: number] | undefined>;
        pointCloudShading: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<CzmPointCloudShadingJsonType | undefined>;
        lightColor: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number] | undefined>;
        imageBasedLighting: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<CzmImageBasedLightingJsonType | undefined>;
        backFaceCulling: boolean | undefined;
        enableShowOutline: boolean | undefined;
        showOutline: boolean | undefined;
        outlineColor: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number] | undefined>;
        vectorClassificationOnly: boolean | undefined;
        vectorKeepDecodedPositions: boolean | undefined;
        featureIdLabel: string | undefined;
        instanceFeatureIdLabel: string | undefined;
        showCreditsOnScreen: boolean | undefined;
        splitDirection: CzmSplitDirection | undefined;
        projectTo2D: boolean | undefined;
        debugHeatmapTilePropertyName: string | undefined;
        debugFreezeFrame: boolean | undefined;
        debugColorizeTiles: boolean | undefined;
        enableDebugWireframe: boolean | undefined;
        debugWireframe: boolean | undefined;
        debugShowBoundingVolume: boolean | undefined;
        debugShowContentBoundingVolume: boolean | undefined;
        debugShowViewerRequestVolume: boolean | undefined;
        debugShowGeometricError: boolean | undefined;
        debugShowRenderingStatistics: boolean | undefined;
        debugShowMemoryUsage: boolean | undefined;
        debugShowUrl: boolean | undefined;
        customShaderInstanceClassStr: string | undefined;
        styleJson: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<JsonValue>;
        autoSetPositionAsOrigin: boolean | undefined;
        execOnceFuncStr: string | undefined;
        updateFuncStr: string | undefined;
        toDestroyFuncStr: string | undefined;
        name: string;
        ref: string | undefined;
        devTags: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<string[] | undefined>;
        extras: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<JsonValue>;
    };
    get json(): JsonType;
    set json(value: JsonType);
    getCzmCode(): string | undefined;
    private _supportEdit;
    get supportEdit(): boolean;
    set supportEdit(value: boolean);
    get supportEditChanged(): Listener<[boolean, boolean]>;
    private _pickedEvent;
    get pickedEvent(): Event<[PickedInfo]>;
    private _flyToEvent;
    get flyToEvent(): Listener<[number | undefined]>;
    flyTo(duration?: number): void;
    private _customShaderInstanceClass;
    get customShaderInstanceClass(): Czm3DTilesCustomShaderInstanceClassType | undefined;
    set customShaderInstanceClass(value: Czm3DTilesCustomShaderInstanceClassType | undefined);
    get customShaderInstanceClassChanged(): Listener<[Czm3DTilesCustomShaderInstanceClassType | undefined, Czm3DTilesCustomShaderInstanceClassType | undefined]>;
    private _updateCustomShaderEvent;
    get updateCustomShaderEvent(): Event<[(customShaderInstance: Czm3DTilesCustomShaderClassType, sceneObject: Czm3DTiles, viewer: Viewer) => void]>;
    updateCustomShader(func: (customShaderInstance: Czm3DTilesCustomShaderClassType) => void): void;
    static defaultCustomShaderInstanceClassStr: string;
    static customShaderInstanceClassStrMd: string;
    static styleMd: string;
    static defaultFoveatedInterpolationCallbackStr: string;
    static defaultStyleJson: {
        color: string;
    };
    static defaultFoveatedInterpolationCallback: typeof Cesium.Math.lerp;
    private _foveatedInterpolationCallback;
    get foveatedInterpolationCallback(): FoveatedInterpolationCallbackType;
    get foveatedInterpolationCallbackChanged(): Listener<[FoveatedInterpolationCallbackType, FoveatedInterpolationCallbackType]>;
    set foveatedInterpolationCallback(value: FoveatedInterpolationCallbackType);
    get imageBasedLightingFactor(): [number, number] | undefined;
    get imageBasedLightingFactorChanged(): Listener<[CzmImageBasedLightingJsonType | undefined, CzmImageBasedLightingJsonType | undefined]>;
    set imageBasedLightingFactor(value: [number, number] | undefined);
    get luminanceAtZenith(): number | undefined;
    get luminanceAtZenithChanged(): Listener<[CzmImageBasedLightingJsonType | undefined, CzmImageBasedLightingJsonType | undefined]>;
    set luminanceAtZenith(value: number | undefined);
    private _origin;
    get origin(): [number, number, number] | undefined;
    get originChanged(): Listener<[[number, number, number] | undefined, [number, number, number] | undefined]>;
    setPositionAsOrigin(): void;
    private _czmTilesetReadyEvent;
    get czmTilesetReadyEvent(): Event<[tileset: Cesium.Cesium3DTileset, czmObj: CzmCzm3DTiles]>;
    notifyCzmTilesetReady(tileset: Cesium.Cesium3DTileset, czmObj: CzmCzm3DTiles): void;
    private _sPositionEditing;
    get sPositionEditing(): PositionEditing;
    private _czmFlattenedPlaneWithId;
    get czmFlattenedPlaneWithId(): SceneObjectWithId<CzmFlattenedPlane>;
    private _czmFlattenedPlaneWithIdInit;
    private _clippingPlanesSceneObjectWithId;
    get clippingPlanesSceneObjectWithId(): SceneObjectWithId<SceneObject>;
    private _clippingPlanesSceneObjectWithIdInit;
    private _clippingPlanesIdResetting;
    private _clippingPolygonsId;
    private _sRotationEditing;
    get sRotationEditing(): RotationEditing;
    constructor(id?: SceneObjectKey);
    static defaults: {
        url: string;
        show: boolean;
        modelMatrix: NativeNumber16Type;
        modelUpAxis: CzmAxis;
        modelForwardAxis: CzmAxis;
        shadows: CzmShadowMode;
        maximumScreenSpaceError: number;
        maximumMemoryUsage: number;
        cacheBytes: number;
        maximumCacheOverflowBytes: number;
        cullWithChildrenBounds: boolean;
        cullRequestsWhileMoving: boolean;
        cullRequestsWhileMovingMultiplier: number;
        preloadWhenHidden: boolean;
        preloadFlightDestinations: boolean;
        preferLeaves: boolean;
        dynamicScreenSpaceError: boolean;
        dynamicScreenSpaceErrorDensity: number;
        dynamicScreenSpaceErrorFactor: number;
        dynamicScreenSpaceErrorHeightFalloff: number;
        progressiveResolutionHeightFraction: number;
        foveatedScreenSpaceError: boolean;
        foveatedConeSize: number;
        foveatedMinimumScreenSpaceErrorRelaxation: number;
        foveatedTimeDelay: number;
        skipLevelOfDetail: boolean;
        baseScreenSpaceError: number;
        skipScreenSpaceErrorFactor: number;
        skipLevels: number;
        immediatelyLoadDesiredLevelOfDetail: boolean;
        loadSiblings: boolean;
        clippingPlanes: {
            planes: {
                normal: number[];
                distance: number;
            }[];
            enabled: boolean;
            modelMatrix: number[];
            unionClippingRegions: boolean;
            edgeColor: number[];
            edgeWidth: number;
        };
        classificationType: CzmClassificationType;
        ellipsoid: [number, number, number];
        pointCloudShading: {
            attenuation: boolean;
            geometricErrorScale: number;
            maximumAttenuation: number;
            baseResolution: undefined;
            eyeDomeLighting: boolean;
            eyeDomeLightingStrength: number;
            eyeDomeLightingRadius: number;
            backFaceCulling: boolean;
            normalShading: boolean;
        };
        lightColor: [number, number, number];
        imageBasedLighting: CzmImageBasedLightingJsonType;
        backFaceCulling: boolean;
        enableShowOutline: boolean;
        showOutline: boolean;
        outlineColor: number[];
        vectorClassificationOnly: boolean;
        vectorKeepDecodedPositions: boolean;
        featureIdLabel: string;
        instanceFeatureIdLabel: string;
        showCreditsOnScreen: boolean;
        splitDirection: CzmSplitDirection;
        projectTo2D: boolean;
        debugHeatmapTilePropertyName: string;
        debugFreezeFrame: boolean;
        debugColorizeTiles: boolean;
        enableDebugWireframe: boolean;
        debugWireframe: boolean;
        debugShowBoundingVolume: boolean;
        debugShowContentBoundingVolume: boolean;
        debugShowViewerRequestVolume: boolean;
        debugShowGeometricError: boolean;
        debugShowRenderingStatistics: boolean;
        debugShowMemoryUsage: boolean;
        debugShowUrl: boolean;
        customShaderInstanceClassStr: string;
        styleJson: JsonValue;
        foveatedInterpolationCallbackStr: string;
        viewerTagsEnums: [string, string][];
    };
    /**
     * 打开本地目录，加载本地3dtiles数据，注意只能打开tileset.json文件所在目录
     */
    openLocalDir(): Promise<void>;
    getProperties(language?: string): import("xbsj-xe2/dist-node/xe2-base-objects").Property[];
}
export declare namespace Czm3DTiles {
    const createDefaultProps: () => {
        position: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number] | undefined>;
        positionEditing: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<boolean>;
        rotation: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number] | undefined>;
        rotationEditing: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<boolean>;
        allowPicking: boolean;
        czmFlattenedPlaneId: string;
        url: string | ESJResource | undefined;
        show: boolean | undefined;
        modelMatrix: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<NativeNumber16Type | undefined>;
        modelUpAxis: CzmAxis | undefined;
        modelForwardAxis: CzmAxis | undefined;
        shadows: CzmShadowMode | undefined;
        maximumScreenSpaceError: number | undefined;
        maximumMemoryUsage: number | undefined;
        cacheBytes: number | undefined;
        maximumCacheOverflowBytes: number | undefined;
        cullWithChildrenBounds: boolean | undefined;
        cullRequestsWhileMoving: boolean | undefined;
        cullRequestsWhileMovingMultiplier: number | undefined;
        preloadWhenHidden: boolean | undefined;
        preloadFlightDestinations: boolean | undefined;
        preferLeaves: boolean | undefined;
        dynamicScreenSpaceError: boolean | undefined;
        dynamicScreenSpaceErrorDensity: number | undefined;
        dynamicScreenSpaceErrorFactor: number | undefined;
        dynamicScreenSpaceErrorHeightFalloff: number | undefined;
        progressiveResolutionHeightFraction: number | undefined;
        foveatedScreenSpaceError: boolean | undefined;
        foveatedConeSize: number | undefined;
        foveatedMinimumScreenSpaceErrorRelaxation: number | undefined;
        foveatedInterpolationCallbackStr: string | undefined;
        foveatedTimeDelay: number | undefined;
        skipLevelOfDetail: boolean | undefined;
        baseScreenSpaceError: number | undefined;
        skipScreenSpaceErrorFactor: number | undefined;
        skipLevels: number | undefined;
        immediatelyLoadDesiredLevelOfDetail: boolean | undefined;
        loadSiblings: boolean | undefined;
        clippingPlanes: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<CzmClippingPlaneCollectionJsonType | undefined>;
        clippingPlanesId: string;
        clippingPolygons: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<CzmClippingPolygonCollectionJsonType | undefined>;
        clippingPolygonsId: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<string[]>;
        absoluteClippingPlanes: boolean;
        classificationType: CzmClassificationType | undefined;
        ellipsoid: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[x: number, y: number, z: number] | undefined>;
        pointCloudShading: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<CzmPointCloudShadingJsonType | undefined>;
        lightColor: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number] | undefined>;
        imageBasedLighting: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<CzmImageBasedLightingJsonType | undefined>;
        backFaceCulling: boolean | undefined;
        enableShowOutline: boolean | undefined;
        showOutline: boolean | undefined;
        outlineColor: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number] | undefined>;
        vectorClassificationOnly: boolean | undefined;
        vectorKeepDecodedPositions: boolean | undefined;
        featureIdLabel: string | undefined;
        instanceFeatureIdLabel: string | undefined;
        showCreditsOnScreen: boolean | undefined;
        splitDirection: CzmSplitDirection | undefined;
        projectTo2D: boolean | undefined;
        debugHeatmapTilePropertyName: string | undefined;
        debugFreezeFrame: boolean | undefined;
        debugColorizeTiles: boolean | undefined;
        enableDebugWireframe: boolean | undefined;
        debugWireframe: boolean | undefined;
        debugShowBoundingVolume: boolean | undefined;
        debugShowContentBoundingVolume: boolean | undefined;
        debugShowViewerRequestVolume: boolean | undefined;
        debugShowGeometricError: boolean | undefined;
        debugShowRenderingStatistics: boolean | undefined;
        debugShowMemoryUsage: boolean | undefined;
        debugShowUrl: boolean | undefined;
        customShaderInstanceClassStr: string | undefined;
        styleJson: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<JsonValue>;
        autoSetPositionAsOrigin: boolean | undefined;
        execOnceFuncStr: string | undefined;
        updateFuncStr: string | undefined;
        toDestroyFuncStr: string | undefined;
        name: string;
        ref: string | undefined;
        devTags: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<string[] | undefined>;
        extras: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<JsonValue>;
    };
}
export interface Czm3DTiles extends ReactivePropsToNativePropsAndChanged<ReturnType<typeof Czm3DTiles.createDefaultProps>> {
}
declare type JsonType = PartialWithUndefinedReactivePropsToNativeProps<ReturnType<typeof Czm3DTiles.createDefaultProps> & {
    type: string;
}>;
export {};
