import { ILiftStatusWebComponentError, TMovementSensor } from "../../utils/types";
import "dayjs/locale/nl";
export declare class Ls3dScene {
    /**
     * The unique key that is used to identify store data.
     */
    readonly idKey: string;
    /**
     * Elevator state (movement)
     */
    movementState: TMovementSensor;
    /**
     * Current stop
     */
    currentStop: number | string;
    /**
     * Last passed stop
     */
    lastPassedStop: number;
    /**
     * The timestamp of the latest sensor update
     */
    lastUpdate: number;
    /**
     * Centralized error state for tracking component errors
     */
    errorState: ILiftStatusWebComponentError;
    /**
     * Keeps track of the setInterval ID.
     */
    private timer;
    private hasBackDoorTimeout;
    private isComponentMounted;
    private store;
    private storeUnsubscribe;
    private animateTheFloor;
    private isAnimating;
    private isEasingOut;
    private isEasingIn;
    private animationFrameId;
    private arrowDown;
    private arrowUp;
    private backDoor;
    private backDoorLeft;
    private backDoorRight;
    private camera;
    private canvas;
    private doorWidth;
    private elevator;
    private elevatorBackWall;
    private elevatorBackWallBeam;
    private floorAnimationTween;
    private doorAnimationTween;
    private floorHeight;
    private floorSeparatorIndicator;
    private frontDoorLeft;
    private frontDoorRight;
    private movingDirection;
    private pulseInterval;
    private renderer;
    private scene;
    private speed;
    private readonly DEFAULT_SCENE_SIZE;
    private resizeObserver;
    private resizeFrameId;
    private lastCanvasSize;
    private positions;
    private materials;
    private initializeScene;
    scheduleSceneResizeOnWindowResize(): void;
    private scheduleResize;
    private observeResize;
    private getCanvasSize;
    private resizeScene;
    private updateIndicatorScale;
    private animateScene;
    private startAnimation;
    private stopAnimation;
    private renderScene;
    private stopDoorAnimation;
    private changeMaterial;
    private openFrontDoor;
    private closeFrontDoor;
    private openBackDoor;
    private closeBackDoor;
    private startPulseArrowAnimation;
    private stopPulseArrowAnimation;
    private moveUp;
    private moveDown;
    private stopMoving;
    private startAnimateFloorsIndicator;
    private stopAnimateFloorsIndicator;
    private animateFloorsIndicator;
    private hideNode;
    private showNode;
    /**
     * Updates the error state based on current component conditions
     */
    private updateErrorState;
    private getErrorMessageForDisplay;
    private updateErrorMessageElement;
    private processSensorUpdate;
    private hasBackDoor;
    private setTimer;
    private clearTimer;
    connectedCallback(): void;
    private cleanupScene;
    disconnectedCallback(): void;
    componentWillLoad(): Promise<void>;
    componentDidLoad(): void;
    componentDidUpdate(): void;
    render(): any;
}
