import '../../stencil.core';
import { EventEmitter } from "../../stencil.core";
import { Store, Action } from "@stencil/redux";
import { AlNodeSerial, AlCameraSerial, AlEdgeSerial, AlAngleSerial } from "../../interfaces";
import { Orientation, DisplayMode } from "../../enums";
export declare class Aleph {
    private _stack;
    private _stackHelper;
    private _container;
    private _targetEntity;
    private _backBoard;
    private _scene;
    private _boundingSphereRadius;
    private _validTarget;
    private _camera;
    private _intersectingNode;
    private _isShiftDown;
    store: Store;
    dracoDecoderPath: string | null;
    width: string;
    height: string;
    debug: boolean;
    spinnerColor: string;
    appClearAngles: Action;
    appClearEdges: Action;
    appClearNodes: Action;
    appDeleteAngle: Action;
    appDeleteEdge: Action;
    appDeleteNode: Action;
    appSelectAngle: Action;
    appSelectEdge: Action;
    appSelectNode: Action;
    appSetAngle: Action;
    appSetBoundingBoxVisible: Action;
    appSetCamera: Action;
    appSetControlsEnabled: Action;
    appSetDisplayMode: Action;
    appSetEdge: Action;
    appSetNode: Action;
    appSetNodesEnabled: Action;
    appSetOrientation: Action;
    appSetSlicesIndex: Action;
    appSetSlicesWindowCenter: Action;
    appSetSlicesWindowWidth: Action;
    appSetSrc: Action;
    appSetSrcLoaded: Action;
    appSetVolumeSteps: Action;
    appSetVolumeWindowCenter: Action;
    appSetVolumeWindowWidth: Action;
    angles: Map<string, AlAngleSerial>;
    boundingBoxVisible: boolean;
    camera: AlCameraSerial;
    controlsEnabled: boolean;
    displayMode: DisplayMode;
    edges: Map<string, AlEdgeSerial>;
    nodes: Map<string, AlNodeSerial>;
    nodesEnabled: boolean;
    nodesVisible: boolean;
    optionsEnabled: boolean;
    optionsVisible: boolean;
    orientation: Orientation;
    selected: string;
    slicesIndex: number;
    slicesWindowCenter: number;
    slicesWindowWidth: number;
    src: string | null;
    srcLoaded: boolean;
    volumeSteps: number;
    volumeWindowCenter: number;
    volumeWindowWidth: number;
    load(src: string): Promise<void>;
    resize(): void;
    setNode(node: [string, AlNodeSerial]): Promise<void>;
    setNodes(nodes: Map<string, AlNodeSerial>): Promise<void>;
    deleteNode(nodeId: string): Promise<void>;
    clearNodes(): Promise<void>;
    selectNode(nodeId: string): Promise<void>;
    setEdge(edge: [string, AlEdgeSerial]): Promise<void>;
    setDisplayMode(displayMode: DisplayMode): Promise<void>;
    setNodesEnabled(enabled: boolean): Promise<void>;
    setBoundingBoxVisible(visible: boolean): Promise<void>;
    onChanged: EventEmitter;
    componentWillLoad(): void;
    private _renderSpinner;
    private _renderSrc;
    private _renderNodes;
    private _renderEdges;
    private _renderLights;
    private _renderCamera;
    private _renderScene;
    render(): JSX.Element;
    private _createEdge;
    private _getAppState;
    private _clearNodes;
    private _setNodes;
    private _deleteNode;
    private _setNode;
    private _setEdge;
    private _selectNode;
    private _setNodesEnabled;
    private _setBoundingBoxVisible;
    private _setSrc;
    private _srcLoaded;
    private _canvasMouseDown;
    private _canvasMouseUp;
    private _controlsUpdated;
    private _controlsEnabledHandler;
    private _controlsDisabledHandler;
    private _intersectionClearedEventHandler;
    private _intersectingNodeEventHandler;
    private _setNodeEventHandler;
    private _validTargetEventHandler;
    private _animationFinished;
    private _nodeSelectedEventHandler;
    private _nodeMovedEventHandler;
    private _addEventListeners;
    componentDidLoad(): void;
    componentDidUpdate(): void;
}
