import { BehaviorSubject, Observable, Subject } from 'rxjs'; import * as i0 from '@angular/core'; import { ViewContainerRef, Type, ElementRef } from '@angular/core'; import { HsConfig, DefaultPanel } from 'hslayers-ng/config'; import { HsLogService } from 'hslayers-ng/services/log'; declare class HsLayoutParams { _puremapApp: BehaviorSubject; /** * Storage of default main panel. * This panel is opened during initialization of app and also when other panel than default is closed. * @default '' */ defaultPanel: string; /** * Set panel visibility statuses. Multiple panels can be open at the same time this way */ panel_statuses: any; /** * DEPRECATED? */ panel_enabled: any; /** * Side on which sidebar will be shown (true = right side of map, false = left side of map) * @default true */ sidebarRight: boolean; /** * Whether to display labels of sidebar buttons or not. * Used in CSS classes assertion on hs-panelspace. * @default true */ sidebarLabels: boolean; /** * Enable sidebar function to open/close sidebar (if false sidebar panel cannot be opened/closed through GUI) * @default true */ sidebarToggleable: boolean; /** * Show if any sidebar panel is opened (sidebar is completely expanded). * When hs.sidebar module is used in the app, it changes automatically to true during initialization. * @default false */ sidebarExpanded: boolean; /** * Show if minisidebar panel is visible in sidebar, allows sidebar to be visible in panelspace * @default false */ initializedOnce: boolean; /** * Whether the app has been initialized already once. * Need this to not add panels twice when NgRouter is used * @default false */ minisidebar: boolean; contentWrapper?: any; layoutElement?: any; sidebarVisible: Observable; sidebarPosition: Observable; sidebarVisible$: BehaviorSubject; sidebarPosition$: BehaviorSubject; mainpanel$: BehaviorSubject; get mainpanel(): string; constructor(); } declare class HsLayoutService extends HsLayoutParams { hsConfig: HsConfig; $log: HsLogService; mapSpaceRef: BehaviorSubject; _puremapApp: BehaviorSubject; /** * Whether app is running in puremapApp mode */ get puremapApp(): boolean; set puremapApp(val: boolean); panelSpaceWidth: BehaviorSubject; sidebarPosition$: BehaviorSubject; sidebarVisible$: BehaviorSubject; mainpanel$: BehaviorSubject; layoutLoads: Subject<{ element: any; innerElement: string; }>; constructor(); updPanelSpaceWidth(): void; updSidebarPosition(): Promise; parseConfig(): void; getPanelEnableState(panel: any): boolean; /** * Close opened panel programmatically. * If sidebar toolbar is used in the app, sidebar stays expanded with sidebar labels. */ hidePanels(): void; /** * Get or set panel visibility in sidebar. * When panel is disabled it means that it's not displayed in sidebar (it can be opened programmatically) but its functionality is running. * Use with status parameter as setter. * @param which - Selected panel (panel name) * @param status - Visibility status of panel to set * @returns Panel enabled/disabled status for getter function */ panelEnabled(which: string, status?: boolean): boolean; /** * Wrapper for accessing hsConfig.componentsEnabled settings. * @param which - Name of the GUI component to check * @returns true if set to true (default), false otherwise */ componentEnabled(which: string): boolean; /** * Sets new main panel (Panel displayed in expanded sidebar). * Change GUI and queryable status of map (when queryable and with hs.query component in the app, the map does info query on map click). * @param which - New panel to activate (panel name) * @param byGui - Whether function call came as result of GUI action */ setMainPanel(which: string, byGui?: boolean): void; getPanelSpaceWidth(): number; updSidebarVisible(visible?: boolean): Promise; panelSpaceHeight(): any; addMapVisualizer(visualizerComponent: Type): void; scrollTo(el: ElementRef): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { HsLayoutParams, HsLayoutService };