import { BehaviorSubject } from 'rxjs'; /** * A projection definitions. */ export type OpenPanelOptions = { /** * True to open the panel, false to close, undefined to toggle. */ state?: boolean; /** * Automatically close the panel on tool panel change, for footer panel. */ autoClose?: boolean; /** * Don't throw an error on closing an unopened panel. */ noError?: boolean; }; /** * Manage the panels of the DesktopCanvas. * * Example of usage: * ```js * (window as any).gmfapi.store.panels.openToolPanel('name'); * (window as any).gmfapi.store.panels.openFooterPanel('name'); * (window as any).gmfapi.store.panels.closeToolPanel(); * (window as any).gmfapi.store.panels.closeFooterPanel(); * ``` */ export declare class PanelsModel { /** * The observable active tool panel. * * @private */ activeToolPanel_: BehaviorSubject; /** * The observable active footer panel. * * @private */ activeFooterPanel_: BehaviorSubject; /** * The observable active panels properties. * * @private */ filterActive_: BehaviorSubject; /** * The current state of active tool panel. * * @private */ activeToolPanelState_: string; /** * The current state of active footer panel. * * @private */ activeFooterPanelState_: string; /** * Close the footer panel on tool panel change? * * @private */ autoCloseFooterPanel_: boolean; /** * @returns the behavior about the active panel in the tool. */ getActiveToolPanel(): BehaviorSubject; /** * @returns the behavior about the active panel in the footer. */ getActiveFooterPanel(): BehaviorSubject; /** * Experimental. * * @returns the behavior about the active filter. */ getFilterActive(): BehaviorSubject; /** * Open a panel, or close if already open * * @param panel the panel * @param options the options */ openToolPanel(panel: string, options?: OpenPanelOptions): void; /** * Open a panel, or close if already open * * @param panel the panel * @param options the options */ openFooterPanel(panel: string, options?: OpenPanelOptions): void; /** * Close the tool panel. */ closeToolPanel(): void; /** * Close the footer panel. */ closeFooterPanel(): void; /** * Set if there is some active filter. * * Experimental. * * @param active is active. */ setFilterActive(active: boolean): void; } declare const panels: PanelsModel; export default panels;