import { NumberInput } from '@angular/cdk/coercion'; import { Destroy } from '@deja-js/component/core'; import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs'; import * as i0 from "@angular/core"; /** Service de gestion du viewport d'une liste. * Ce service permet la gestion du viewport verticalement ou horizontalement. */ export declare class ViewPortService extends Destroy { static itemDefaultSize: number; viewPort$: Observable; emptyViewPort: IViewPort; mode$: BehaviorSubject; items$: BehaviorSubject; maxSize$: BehaviorSubject; ensureItem$: BehaviorSubject; scrollPosition$: BehaviorSubject; element$: ReplaySubject; itemsSize$: BehaviorSubject; direction$: BehaviorSubject; ensureParams$: Observable; viewPortResult$: BehaviorSubject; private refresh$; private deleteSizeCache$; private lastCalculatedSize; private measureViewPort; private _mode; private _itemsSize; private _direction; private _scrollPosition; private viewPort; private ignoreScrollCount; get mode(): string; get itemsSize(): number; get direction(): string; constructor(); deleteSizeCache(): void; clear(): void; refresh(params?: IViewPortRefreshParams): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export interface IEnsureParams { index: number; atEnd: boolean; } export interface IViewPort { beforeSize: number; afterSize: number; visibleItems: IViewPortItem[]; startIndex: number; endIndex: number; viewPortSize: number; listSize: number; scrollPos: number; items: IViewPortItem[]; } export interface IViewPortItem { size?: number; } export interface IViewPortRefreshParams { items: IViewPortItem[]; clearMeasuredSize: boolean; }