/** * Copyright (c) 2018-2025 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal * @author Alexander Rose * @author Lukáš Polák */ import { ParamDefinition as PD } from '../mol-util/param-definition.js'; import { StatefulPluginComponent } from '../mol-plugin-state/component.js'; import { PluginContext } from './context.js'; export type PluginLayoutControlsDisplay = 'outside' | 'portrait' | 'landscape' | 'reactive'; export declare const PluginLayoutStateParams: { isExpanded: PD.BooleanParam; showControls: PD.BooleanParam; regionState: PD.Group>; controlsDisplay: PD.Value; expandToFullscreen: PD.BooleanParam; }; export type PluginLayoutStateProps = PD.Values; export type LeftPanelTabName = 'none' | 'root' | 'data' | 'states' | 'settings' | 'help'; export declare class PluginLayout extends StatefulPluginComponent { private context; readonly events: { updated: import("rxjs").Subject; }; private updateProps; root: HTMLElement | undefined; private rootState; private expandedViewport; setProps(props: Partial): void; setRoot(root: HTMLElement): void; private getScrollElement; private tryRequestFullscreen; private tryExitFullscreen; private handleExpand; private fullscreenChangeHandler; dispose(): void; constructor(context: PluginContext); }