import { InjectionToken } from '@angular/core';
import { ScrollSpyService } from '../scroll-spy-service/scroll-spy.service';
import * as i0 from "@angular/core";
import * as i1 from "@ynmstudio/utils/inviewport";
export declare const SCROLL_SPY_INTERSECTION_OBSERVER_INIT: InjectionToken<IntersectionObserverInit>;
/**
 * A component to wrap section content within that will update the
 * `ScrollSpyService` when it's in view
 *
 * @example
 * ```html
 *  <section sn-scroll-spy-section id="section1" for="foo">
 *    ...
 *  </section>
 * ```
 */
export declare class ScrollSpySectionDirective {
    private scrollSpySvc;
    /**
     * Identifies the section
     *
     * @memberof ScrollSpySectionComponent
     */
    id: string;
    /**
     * Specifies which `ScrollSpy` instance to update
     *
     * @memberof ScrollSpySectionComponent
     */
    for: string;
    /**
     * Creates an instance of ScrollSpySectionComponent.
     * @memberof ScrollSpySectionComponent
     */
    constructor(scrollSpySvc: ScrollSpyService);
    /**
     * Updates `ScrollSpy` section when element enters/leaves viewport
     *
     * @memberof ScrollSpySectionComponent
     */
    onInViewportChange(inViewport: boolean): void;
    inViewportOptions: IntersectionObserverInit | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<ScrollSpySectionDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollSpySectionDirective, "[sn-scroll-spy-section]", never, { "id": { "alias": "id"; "required": false; }; "for": { "alias": "for"; "required": false; }; "inViewportOptions": { "alias": "inViewportOptions"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.InViewportDirective; inputs: {}; outputs: { "inViewportChange": "inViewportChange"; }; }]>;
}
