import { Observable } from 'rxjs'; import { FocusItemDirective } from './focus-item.directive'; export declare class FocusManagerService { private changeEvent; readonly onChange: Observable; /** * list of focus items before */ private focus_item_list_old; /** * list of focus items current */ private focus_item_list_new; /** * A click will bubble up until it reaches document. * This upward trip can pass multiple focus items * This property holds the status on whether this bubble-up is happening or not. */ private bubbleUpStarted; constructor(); /** * record a focus item into current list of focus items. * if bubble-up has just started and bubbleUpStarted is yet to be updated, * 1. update bubbleUpStarted to true. * 2. move all the current focus item list into the old list * 3. create an empty list * @param item */ push(item: FocusItemDirective): void; private emptyFocusItems; private onDocumentClick; private filterFocusItemElements; }