import { AfterViewInit, ElementRef, OnDestroy } from '@angular/core';
import { ReplaySubject, Subscription } from 'rxjs';
import { AnchorService } from './anchor.service';
import { AnchorActiveChangeSource, IAnchorBox } from './anchor.type';
import * as i0 from "@angular/core";
export declare class AnchorDirective implements AfterViewInit, OnDestroy {
    private el;
    private anchorService;
    anchor: string;
    anchorActive: string;
    _isActive: boolean;
    set isActive(active: boolean);
    get isActive(): boolean;
    activeChangeBy: AnchorActiveChangeSource;
    activeChangeSubscription: Subscription;
    activeChangeSubject: ReplaySubject<unknown>;
    lastActiveBy: string;
    element: HTMLElement;
    _boxElement: IAnchorBox;
    set boxElement(box: IAnchorBox);
    get boxElement(): IAnchorBox;
    scrollListenTarget: Element | Window;
    REACH_TOP_VISION_OFFSET: number;
    private THROTTLE_DELAY;
    private THROTTLE_TRIGGER;
    private scrollPreStart;
    private scrollTimer;
    constructor(el: ElementRef, anchorService: AnchorService);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    beFocused(): void;
    throttle: () => void;
    checkActiveStatus: (activeChangeBy?: AnchorActiveChangeSource) => void;
    updateScrollListenTarget(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AnchorDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AnchorDirective, "[dAnchor]", never, { "anchor": { "alias": "dAnchor"; "required": false; }; "anchorActive": { "alias": "anchorActive"; "required": false; }; }, {}, never, never, false, never>;
}
