import * as _angular_core from '@angular/core';
import { OnInit } from '@angular/core';

/**
 * A directive designed to help navigation elements determine the element currently in view of the user.
 */
declare class ScrollSpyDirective implements OnInit {
    /**
     * An array of tags to track.
     */
    readonly trackedTags: _angular_core.InputSignal<string[]>;
    /**
     * Whether events are still fired if there is no tag present on the user's screen.
     */
    readonly fireEmpty: _angular_core.InputSignal<boolean>;
    /**
     * A number that represent at what location in the container the event is fired.
     * 0.5 would fire the events in the middle of the container,
     * 0 for the top and 1 for the bottom.
     */
    readonly targetPercent: _angular_core.InputSignal<number>;
    /**
     * Number that represents the offset in pixels for fired target. `100` value means that the event will be fired for
     * target that is 100 pixels below the spy container.
     */
    readonly targetOffset: _angular_core.InputSignal<number>;
    /**
     * Whether to disable scroll spy
     */
    readonly scrollSpyDisabled: _angular_core.InputSignal<boolean>;
    /**
     * Event fired on the scroll element when a new item becomes activated by the scrollspy .
     * The returned value is the HTMLElement itself, or undefined when no element is active.
     */
    readonly spyChange: _angular_core.OutputEmitterRef<HTMLElement | undefined>;
    /** @hidden */
    private _currentActive;
    /** @hidden */
    private readonly _elRef;
    /** @hidden */
    private readonly _destroyRef;
    /** @hidden */
    onScroll(event?: Event, forced?: boolean): void;
    /** @hidden */
    ngOnInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollSpyDirective, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ScrollSpyDirective, "[fdScrollSpy]", ["fdScrollSpy"], { "trackedTags": { "alias": "trackedTags"; "required": false; "isSignal": true; }; "fireEmpty": { "alias": "fireEmpty"; "required": false; "isSignal": true; }; "targetPercent": { "alias": "targetPercent"; "required": false; "isSignal": true; }; "targetOffset": { "alias": "targetOffset"; "required": false; "isSignal": true; }; "scrollSpyDisabled": { "alias": "scrollSpyDisabled"; "required": false; "isSignal": true; }; }, { "spyChange": "spyChange"; }, never, never, true, never>;
}

/**
 * @deprecated
 * Use direct `ScrollSpyDirective` import.
 */
declare class ScrollSpyModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollSpyModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<ScrollSpyModule, never, [typeof ScrollSpyDirective], [typeof ScrollSpyDirective]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<ScrollSpyModule>;
}

export { ScrollSpyDirective, ScrollSpyModule };
