/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class ScrollAnchorDirective implements AfterViewInit, OnInit, OnDestroy {
    private element;
    private zone;
    private renderer;
    private cdr;
    autoScroll: boolean;
    autoScrollThreshold: number | string;
    set endlessMode(value: boolean);
    get endlessMode(): boolean;
    rangeIsAtEnd: boolean;
    autoScrollChange: EventEmitter<boolean>;
    nearTop: EventEmitter<void>;
    nearBottom: EventEmitter<void>;
    overflowAnchor: string;
    get scrollBehaviorStyle(): string;
    showScrollToBottomButton: boolean;
    showMessageBoxSeparator: boolean;
    private scrolling;
    private unsubscribe;
    private scrollUpdate;
    private _previousScrollHeight;
    private _previousScrollTop;
    private _pendingScrollPreservation;
    private _endlessMode;
    private _nearTopLocked;
    private _nearBottomLocked;
    private _scrollingToMessage;
    private _initialScrollDone;
    private _subs;
    private _streamingFollow;
    private _thresholdScrollCap;
    private _streamingPrevScrollTop;
    private _streamingPrevHeight;
    private _streamingPrevMsgCount;
    private _mutationObserver;
    constructor(element: ElementRef, zone: NgZone, renderer: Renderer2, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onScroll(): void;
    autoScrollToBottom(): void;
    scrollToBottom(): void;
    scrollToBottomWithSettle(onComplete?: () => void): void;
    scrollWithThreshold(messageEl: HTMLElement): void;
    recordScrollHeight(): void;
    preserveScrollPosition(): void;
    calculateMessageBoxSeparator(): void;
    getDistanceFromBottom(): number;
    setAriaLive(value: string): void;
    lockForMessageScroll(): void;
    unlockForMessageScroll(): void;
    getAutoScrollThresholdPx(): number;
    get isFollowingThreshold(): boolean;
    private followStreamingContent;
    private updateScrollToBottomButton;
    private detectStreamingScrollUp;
    private parseThreshold;
    private getPinnedBarHeight;
    private setupScrollUpdate;
    private performScroll;
    static ɵfac: i0.ɵɵFactoryDeclaration<ScrollAnchorDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollAnchorDirective, "[kendoChatScrollAnchor]", ["scrollAnchor"], { "autoScroll": { "alias": "autoScroll"; "required": false; }; "autoScrollThreshold": { "alias": "autoScrollThreshold"; "required": false; }; "endlessMode": { "alias": "endlessMode"; "required": false; }; "rangeIsAtEnd": { "alias": "rangeIsAtEnd"; "required": false; }; }, { "autoScrollChange": "autoScrollChange"; "nearTop": "nearTop"; "nearBottom": "nearBottom"; }, never, never, true, never>;
}
