import "@edsilv/stencil-redux";
import { Action, Store } from "@edsilv/stencil-redux";
import "@ionic/core";
import { EventEmitter } from "../../stencil.core";
import "../../aframe";
import "../../assets/OrbitControls.js";
import { ControlsType, DisplayMode, Material, Orientation, Units } from "../../enums";
import { AlAngle, AlCamera, AlEdge, AlGraph, AlNode } from "../../interfaces";
export declare class Aleph {
    private _boundingBox;
    private _boundingSphereRadius;
    private _camera;
    private _debouncedAppSetCamera;
    private _hovered;
    private _isShiftDown;
    private _isWebGl2;
    private _loadedObject;
    private _scene;
    private _targetEntity;
    private _validTarget;
    private _boundingEntity;
    store: Store;
    dracoDecoderPath: string | null;
    envMapPath: string | null;
    width: string;
    height: string;
    appClearAngles: Action;
    appClearEdges: Action;
    appClearNodes: Action;
    appDeleteAngle: Action;
    appDeleteEdge: Action;
    appDeleteNode: Action;
    appSelectAngle: Action;
    appSelectEdge: Action;
    appSelectNode: Action;
    appSetAngle: Action;
    appSetBoundingBoxEnabled: Action;
    appSetCamera: Action;
    appSetControlsEnabled: Action;
    appSetControlsType: Action;
    appSetDisplayMode: Action;
    appSetEdge: Action;
    appSetGraphEnabled: Action;
    appSetMaterial: Action;
    appSetNode: Action;
    appSetOrientation: Action;
    appSetSceneDistance: Action;
    appSetSlicesIndex: Action;
    appSetSlicesMaxIndex: Action;
    appSetSrc: Action;
    appSetSrcLoaded: Action;
    appSetUnits: Action;
    appSetVolumeSteps: Action;
    appSetVolumeWindowCenter: Action;
    appSetVolumeWindowWidth: Action;
    angles: Map<string, AlAngle>;
    boundingBoxEnabled: boolean;
    camera: AlCamera;
    controlsEnabled: boolean;
    controlsType: ControlsType;
    displayMode: DisplayMode;
    edges: Map<string, AlEdge>;
    graphEnabled: boolean;
    material: Material;
    nodes: Map<string, AlNode>;
    nodesVisible: boolean;
    optionsEnabled: boolean;
    optionsVisible: boolean;
    orientation: Orientation;
    sceneDistance: number;
    selected: string;
    slicesIndex: number;
    slicesMaxIndex: number;
    src: string | null;
    srcLoaded: boolean;
    units: Units;
    volumeSteps: number;
    volumeWindowCenter: number;
    volumeWindowWidth: number;
    load(src: string, displayMode?: DisplayMode): Promise<void>;
    resize(): Promise<void>;
    setNode(node: [string, AlNode]): Promise<void>;
    setGraph(graph: AlGraph): Promise<void>;
    deleteNode(nodeId: string): Promise<void>;
    clearGraph(): Promise<void>;
    selectNode(nodeId: string): Promise<void>;
    deleteEdge(edgeId: string): Promise<void>;
    deleteAngle(angleId: string): Promise<void>;
    /** Creates or updates an edge in the graph */
    setEdge(edge: [string, AlEdge]): Promise<void>;
    recenter(): Promise<void>;
    setBoundingBoxEnabled(visible: boolean): Promise<void>;
    setDisplayMode(displayMode: DisplayMode): Promise<void>;
    setControlsEnabled(enabled: boolean): Promise<void>;
    setControlsType(type: ControlsType): Promise<void>;
    setGraphEnabled(enabled: boolean): Promise<void>;
    setMaterial(material: Material): Promise<void>;
    setOrientation(orientation: Orientation): Promise<void>;
    setSceneDistance(distance: number): Promise<void>;
    setSlicesIndex(index: number): Promise<void>;
    setUnits(units: Units): Promise<void>;
    setVolumeSteps(steps: number): Promise<void>;
    setVolumeBrightness(brightness: number): Promise<void>;
    setVolumeContrast(contrast: number): Promise<void>;
    /** Fires whenever the internal state changes passing an object describing the state. */
    change: EventEmitter;
    /** Fires when an object is loaded passing either the object or a stackhelper for volumetric data. */
    loaded: EventEmitter;
    protected componentWillLoad(): Promise<void>;
    private _renderScene;
    render(): any;
    private _resize;
    private _createEdge;
    private _createAngle;
    private _stateChanged;
    private _setGraph;
    private _clearGraph;
    private _deleteNode;
    private _setNode;
    private _animateBetween;
    private _selectNode;
    private _setEdge;
    private _deleteEdge;
    private _recenter;
    private _selectEdge;
    private _setAngle;
    private _selectAngle;
    private _deleteAngle;
    private _setBoundingBoxEnabled;
    private _setControlsEnabled;
    private _setControlsType;
    private _setGraphEnabled;
    private _setMaterial;
    private _setOrientation;
    private _setSceneDistance;
    private _setSlicesIndex;
    private _setUnits;
    private _setVolumeSteps;
    private _setVolumeWindowCenter;
    private _setVolumeWindowWidth;
    private _setDisplayMode;
    private _setSrc;
    private _getMesh;
    private _srcLoadedHandler;
    private _keyDownHandler;
    private _keyUpHandler;
    private _graphEntryPointerUpHandler;
    private _graphEntryPointerDownHandler;
    private _graphEntryPointerOutHandler;
    private _graphEntryPointerOverHandler;
    private _controlsInteractionHandler;
    private _controlsInteractionFinishedHandler;
    private _spawnNodeHandler;
    private _volumeRaycastHandler;
    private _graphEntryValidTargetHandler;
    private _controlsAnimationFinishedHandler;
    private _graphEntrySelectedHandler;
    private _graphEntryDraggedHandler;
    private _volumeDefaultRenderStepsHandler;
    private _slicesMaxIndexHandler;
    private _addEventListeners;
    componentDidUpdate(): void;
}
