import { default as CxDropdown } from '../../../../../atoms/src/components/dropdown/dropdown.ts';
import { default as CxIconButton } from '../../../../../atoms/src/components/icon-button/icon-button.ts';
import { default as CxMenuSection } from '../../../../../atoms/src/components/menu-section/menu-section.ts';
import { default as CxTooltip } from '../../../../../atoms/src/components/tooltip/tooltip.ts';
import { default as CortexElement } from '../../../../../base/src/cortex-element.ts';
import { CSSResultGroup } from 'lit';
import { default as Cx3dViewerConfig } from '../3d-viewer-config/3d-viewer-config';

/**
 * @summary Cx3dViewerControl
 */
export default class Cx3dViewerControl extends CortexElement {
    static readonly styles: CSSResultGroup;
    private readonly localize;
    static readonly dependencies: {
        'cx-3d-viewer-config': typeof Cx3dViewerConfig;
        'cx-dropdown': typeof CxDropdown;
        'cx-icon-button': typeof CxIconButton;
        'cx-menu-section': typeof CxMenuSection;
        'cx-tooltip': typeof CxTooltip;
    };
    sliderContainer: HTMLElement;
    readonly animationDropdown: CxDropdown;
    configComponent: Cx3dViewerConfig;
    /** A boolean value specifying if the animation is currently playing */
    isAnimationPlaying: boolean;
    /** A number representing the current progress of the animation */
    animationProgress: number;
    /** A string representing the current time of the animation */
    currentTime: string;
    /** A string representing the total time of the animation */
    totalTime: string;
    /** All available variants */
    availableVariants: string;
    /** All available animations */
    availableAnimations: string[];
    /** All available speed ratios */
    availableSpeedRatios: string;
    /** A boolean value specifying if wireframe mode is enabled */
    showWireframe: boolean;
    /** A boolean value specifying if texture display is enabled */
    showTextures: boolean;
    /** A boolean value specifying if shadows are enabled */
    showShadows: boolean;
    /** A boolean value specifying if grid display is enabled */
    showGrid: boolean;
    /** Index value representing the selected speed */
    selectedSpeed: string;
    /** A boolean value specifying if the model has animations */
    hasAnimation: boolean;
    availableEnvironments: string;
    activeEnvironment: string;
    activeVariant: string;
    selectedAnimation: string;
    showInspector: boolean;
    isFullscreen: boolean;
    gridLoading: boolean;
    inspectorLoading: boolean;
    blobUrl: string;
    canViewAR: boolean;
    /** Show the "Inspect in fullscreen" entry in the settings menu */
    canUseInspector: boolean;
    private wasPlaying;
    private isDragging;
    constructor();
    private handleAnimationSelect;
    private handleFullScreenRequest;
    private handlePlayButtonToggle;
    private moveHandler;
    private upHandler;
    /** Handle the seeking process when user interacts with the progress bar */
    private handleSeekStart;
    private emitSeek;
    private handleReplayClick;
    private handleResetPositionClick;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-3d-viewer-control': Cx3dViewerControl;
    }
}
