import { Observable } from 'rxjs'; import { BaseTabComponent } from '../components/baseTab.component'; import { SplitTabComponent } from '../components/splitTab.component'; import { SelectorOption } from '../api/selector'; import { NewTabParameters } from './tabs.service'; export declare class AppService { private config; private hostApp; private hostWindow; private tabRecovery; private tabsService; private selector; private ngbModal; private bootstrapData; tabs: BaseTabComponent[]; get activeTab(): BaseTabComponent | null; private lastTabIndex; private _activeTab; private closedTabsStack; private activeTabChange; private tabsChanged; private tabOpened; private tabRemoved; private tabClosed; private tabDragActive; private ready; private recoveryStateChangedHint; private completionObservers; get activeTabChange$(): Observable; get tabOpened$(): Observable; get tabsChanged$(): Observable; get tabRemoved$(): Observable; get tabClosed$(): Observable; get tabDragActive$(): Observable; /** Fires once when the app is ready */ get ready$(): Observable; /** @hidden */ private constructor(); addTabRaw(tab: BaseTabComponent, index?: number | null): void; removeTab(tab: BaseTabComponent): void; /** * Adds a new tab **without** wrapping it in a SplitTabComponent * @param inputs Properties to be assigned on the new tab component instance */ openNewTabRaw(params: NewTabParameters): T; /** * Adds a new tab while wrapping it in a SplitTabComponent * @param inputs Properties to be assigned on the new tab component instance */ openNewTab(params: NewTabParameters): T; /** * Adds an existing tab while wrapping it in a SplitTabComponent */ wrapAndAddTab(tab: BaseTabComponent): SplitTabComponent; reopenLastTab(): Promise; selectTab(tab: BaseTabComponent | null): void; getParentTab(tab: BaseTabComponent): SplitTabComponent | null; /** Switches between the current tab and the previously active one */ toggleLastTab(): void; nextTab(): void; previousTab(): void; moveSelectedTabLeft(): void; moveSelectedTabRight(): void; swapTabs(a: BaseTabComponent, b: BaseTabComponent): void; renameTab(tab: BaseTabComponent): void; /** @hidden */ emitTabsChanged(): void; closeTab(tab: BaseTabComponent, checkCanClose?: boolean): Promise; duplicateTab(tab: BaseTabComponent): Promise; /** * Attempts to close all tabs, returns false if one of the tabs blocked closure */ closeAllTabs(): Promise; closeWindow(): Promise; /** @hidden */ emitReady(): void; /** @hidden */ emitTabDragStarted(tab: BaseTabComponent): void; /** @hidden */ emitTabDragEnded(): void; /** * Returns an observable that fires once * the tab's internal "process" (see [[BaseTabProcess]]) completes */ observeTabCompletion(tab: BaseTabComponent): Observable; stopObservingTabCompletion(tab: BaseTabComponent): void; showSelector(name: string, options: SelectorOption[]): Promise; explodeTab(tab: SplitTabComponent): SplitTabComponent[]; combineTabsInto(into: SplitTabComponent): void; }