import { Overlay, OverlayConfig, ScrollStrategy } from '@angular/cdk/overlay'; import { AfterContentInit, AfterViewInit, ChangeDetectorRef, EventEmitter, InjectionToken, TemplateRef, Type } from '@angular/core'; import { KbqButton } from '@koobiq/components/button'; import { DateAdapter, KbqPopUp, KbqPopUpPlacementValues, KbqPopUpSizeValues, KbqPopUpTrigger, KbqStickToWindowPlacementValues } from '@koobiq/components/core'; import { Subscription } from 'rxjs'; import { KbqNotificationCenterService } from './notification-center.service'; import * as i0 from "@angular/core"; /**default configuration of notification-center */ export declare const KBQ_NOTIFICATION_CENTER_DEFAULT_CONFIGURATION: { notifications: string; remove: string; doNotDisturb: string; showPopUpNotifications: string; noNotifications: string; failedToLoadNotifications: string; repeat: string; loadingMore: string; }; /** Injection Token for providing configuration of notification-center */ export declare const KBQ_NOTIFICATION_CENTER_CONFIGURATION: InjectionToken; /** @docs-private */ export declare const KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>; /** @docs-private */ export declare function kbqNotificationCenterScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy; /** @docs-private */ export declare const KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY_FACTORY_PROVIDER: { provide: InjectionToken<() => ScrollStrategy>; deps: (typeof Overlay)[]; useFactory: typeof kbqNotificationCenterScrollStrategyFactory; }; /** @docs-private */ export declare class KbqNotificationCenterComponent extends KbqPopUp implements AfterViewInit { /** @docs-private */ protected readonly changeDetectorRef: ChangeDetectorRef; /** @docs-private */ protected readonly localeService: import("@koobiq/components/core").KbqLocaleService | null; /** @docs-private */ protected readonly dateAdapter: DateAdapter; /** @docs-private */ protected readonly service: KbqNotificationCenterService; private scrollContainer; readonly externalConfiguration: unknown; configuration: any; /** @docs-private */ protected popoverMode: boolean; /** @docs-private */ protected isTopOverflow: boolean; /** @docs-private */ protected isBottomOverflow: boolean; /** Distance in pixels from the bottom of the list at which the next page is requested. * @docs-private */ protected scrolledToBottomOffset: number; /** Emits on every scroll of the list container; drives the scroll-to-bottom check. */ private readonly scroll$; /** localized data * @docs-private */ get localeData(): any; /** @docs-private */ prefix: string; /** @docs-private */ trigger: KbqNotificationCenterTrigger; /** @docs-private */ isTrapFocus: boolean; switcher: KbqButton; get popoverHeight(): string; set popoverHeight(value: string); private _popoverHeight; constructor(); ngAfterViewInit(): void; /** Handles the list container scroll: updates overflow shadows and feeds the scroll-to-bottom check. * @docs-private */ protected onContainerScroll(): void; /** Retries loading the next page from the bottom error row. * @docs-private */ protected retryLoadMore(): void; /** * Requests the next page (via `service.onNextPage`) once the list is scrolled to within * `scrolledToBottomOffset` pixels of the bottom. Two triggers feed it: the user scrolling, and a * page finishing loading. The latter keeps paging when a freshly loaded page is too short to * overflow the viewport — otherwise no further scroll event would fire and pagination would * stall. Suppressed while a load is in flight, errored, or when there is nothing more to load. */ private subscribeToScrolledToBottom; /** Whether the list is scrolled to within `scrolledToBottomOffset` pixels of the bottom. */ private isScrolledToBottom; /** Emits `onNextPage` unless a load is already in flight, errored, or there is nothing more to load. */ private requestNextPage; private focusScrollContainer; /** @docs-private */ updateClassMap(placement: string, customClass: string, size: KbqPopUpSizeValues): void; /** @docs-private */ updateTrapFocus(isTrapFocus: boolean): void; /** @docs-private */ escapeHandler(): void; protected checkOverflow: () => void; private updateLocaleParams; private initDefaultParams; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class KbqNotificationCenterTrigger extends KbqPopUpTrigger implements AfterContentInit { /** @docs-private */ protected scrollStrategy: () => ScrollStrategy; /** @docs-private */ protected readonly service: KbqNotificationCenterService; /** @docs-private */ arrow: boolean; /** @docs-private */ customClass: string; /** @docs-private */ private hasBackdrop; /** @docs-private */ private size; /** @docs-private */ content: string | TemplateRef; /** @docs-private */ header: string | TemplateRef; /** @docs-private */ footer: string | TemplateRef; /** Number of unread notifications */ get unreadItemsCounter(): import("rxjs").Observable; /** Placement of popUp */ placement: KbqPopUpPlacementValues; /** Class that will be used in the background */ backdropClass: string; /** Class that will be used in the panel */ panelClass: string; /** Offset of popUp */ offset: number | null; /** Distance in pixels from the bottom of the list at which the next page is requested via `onNextPage`. */ scrolledToBottomOffset: number; /** Use popover or not */ get popoverMode(): boolean; set popoverMode(value: boolean); private _popoverMode; /** Set height of popover. Default is calc(100vh - 48px). 48px - height of navbar */ get popoverHeight(): string; set popoverHeight(value: string); private _popoverHeight; /** Whether the trigger is disabled. */ get disabled(): boolean; set disabled(value: boolean); /** * Additionally positions the element relative to the window side (Top, Right, Bottom and Left). * If container is specified, the positioning will be relative to it. * */ stickToWindow: KbqStickToWindowPlacementValues; /** Container for additional positioning, used with stickToWindow */ container: HTMLElement; /** @docs-private */ get hasClickTrigger(): boolean; /** Emits a change event whenever the placement state changes. */ readonly placementChange: EventEmitter; /** Emits a change event whenever the visible state changes. */ readonly visibleChange: EventEmitter; /** @docs-private */ trigger: string; /** @docs-private */ protected originSelector: string; /** @docs-private */ protected get overlayConfig(): OverlayConfig; /** @docs-private */ protected preventClosingByInnerScrollSubscription: Subscription; constructor(); ngAfterContentInit(): void; /** @docs-private */ updateData(): void; /** Updates the current position. * * @docs-private */ updatePosition(reapplyPosition?: boolean): void; /** @docs-private */ getOverlayHandleComponentType(): Type; /** @docs-private */ updateClassMap(newPlacement?: string): void; /** @docs-private */ closingActions(): import("rxjs").Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_offset: unknown; static ngAcceptInputType_scrolledToBottomOffset: unknown; static ngAcceptInputType_popoverMode: unknown; static ngAcceptInputType_disabled: unknown; }