import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { HsButton } from 'hslayers-ng/types'; import { HsConfig } from 'hslayers-ng/config'; import { HsEventBusService } from 'hslayers-ng/services/event-bus'; import { HsLanguageService } from 'hslayers-ng/services/language'; import { HsLayoutService } from 'hslayers-ng/services/layout'; import * as i0 from '@angular/core'; declare class HsSidebarService { hsLayoutService: HsLayoutService; hsConfig: HsConfig; hsLanguageService: HsLanguageService; hsEventBusService: HsEventBusService; buttonDefinition: { mapSwipe: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; layerManager: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; legend: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; addData: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; compositions: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; draw: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; language: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; content: () => string; }; share: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; print: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; query: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; saveMap: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; measure: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; condition: boolean; }; search: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; condition: boolean; }; tripPlanner: { panel: string; module: string; order: number; fits: boolean; title: string; description: string; icon: string; }; wfsFilter: { panel: string; order: number; fits: boolean; title: string; description: string; icon: string; }; }; extraButtons: Array; buttonsSubject: BehaviorSubject; /** * List of sidebar buttons */ buttons: Observable; /** * If buttons with importance property exist. * If not, don't display expansion +/- icon */ unimportantExist: boolean; /** * List of visible buttons taking into account viewport size */ visibleButtons: Array; showUnimportant: boolean; numberOfUnimportant: number; importantButtons: HsButton[]; sidebarLoad: Subject; constructor(); destroy(): void; prepareForTemplate(buttons: HsButton[]): HsButton[]; setButtonVisibility(buttons: HsButton[]): void; addButton(button: HsButton): void; /** * Function to set if a button is important and always visible * or only when the sidebar buttons are expanded */ setButtonImportance(buttons: HsButton[], panelName: string, state: boolean): void; buttonClicked(button: HsButton): void; setPanelState(buttons: Array): void; /** * Checks whether the panels, which could be placed both in map or * in sidebar, have state defined in config.panelsEnabled. If yes it * should be placed in sidebar rather then in map. * It´s necessary for buttons like 'measure' because simple * 'config.panelsEnabled = false' would prevent their functionality. * @param button - Buttons object */ checkConfigurableButtons(button: HsButton): boolean; /** * Check if sidebar button should be visible in classic sidebar or hidden inside minisidebar panel * Toggles minisidebar button * @param which - Sidebar button to be checked (specify panel name) */ fitsSidebar(button: HsButton): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { HsSidebarService };