import { OnChanges, OnDestroy, QueryList, SimpleChanges } from '@angular/core';
import { Subject, Subscription } from 'rxjs';
import { AnchorDirective } from './anchor.directive';
import { AnchorService } from './anchor.service';
import { AnchorActiveChangeSource, IAnchorBox } from './anchor.type';
import * as i0 from "@angular/core";
export declare class AnchorBoxDirective implements IAnchorBox, OnChanges, OnDestroy {
    private anchorService;
    isScrollingToTarget: boolean;
    private activeChangeSubject;
    activeChange: import("rxjs").Observable<unknown>;
    isInit: boolean;
    refreshAnchorMap: Subject<void>;
    anchorMap: {
        [anchor: string]: AnchorDirective;
    };
    _anchorList: QueryList<AnchorDirective>;
    sub: Subscription;
    view: {
        top?: number;
        bottom?: number;
    };
    defaultAnchor: string;
    scrollTarget: HTMLElement;
    set anchorList(list: QueryList<AnchorDirective>);
    get anchorList(): QueryList<AnchorDirective>;
    constructor(anchorService: AnchorService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    forceActiveAnchor(anchorName: string, forceActiveSource?: AnchorActiveChangeSource, deactivateOtherAnchor?: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AnchorBoxDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AnchorBoxDirective, "[dAnchorBox]", never, { "view": { "alias": "view"; "required": false; }; "defaultAnchor": { "alias": "defaultAnchor"; "required": false; }; "scrollTarget": { "alias": "scrollTarget"; "required": false; }; }, {}, ["anchorList"], never, false, never>;
}
