import { EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { Router } from '@angular/router';
import { EasingLogic, PageScrollService } from 'ngx-page-scroll-core';
import * as i0 from "@angular/core";
export declare class NgxPageScrollDirective implements OnChanges, OnDestroy {
    private readonly pageScrollService;
    private readonly router;
    routerLink: any;
    href: string;
    fragment: string;
    pageScrollTarget: string;
    pageScrollHorizontal: boolean;
    pageScrollOffset: number;
    pageScrollDuration: number;
    pageScrollSpeed: number;
    pageScrollEasing: EasingLogic;
    pageScrollInterruptible: boolean;
    pageScrollInView: boolean;
    pageScrollAdjustHash: boolean;
    pageScroll: string;
    pageScrollFinish: EventEmitter<boolean>;
    private pageScrollInstance;
    private readonly document;
    constructor(pageScrollService: PageScrollService, router: Router, document: any);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    private getPageScrollTarget;
    private generatePageScrollInstance;
    private pushRouterState;
    private scroll;
    handleClick(clickEvent: Event): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxPageScrollDirective, [null, { optional: true; }, null]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgxPageScrollDirective, "[pageScroll]", never, { "routerLink": { "alias": "routerLink"; "required": false; }; "href": { "alias": "href"; "required": false; }; "fragment": { "alias": "fragment"; "required": false; }; "pageScrollTarget": { "alias": "pageScrollTarget"; "required": false; }; "pageScrollHorizontal": { "alias": "pageScrollHorizontal"; "required": false; }; "pageScrollOffset": { "alias": "pageScrollOffset"; "required": false; }; "pageScrollDuration": { "alias": "pageScrollDuration"; "required": false; }; "pageScrollSpeed": { "alias": "pageScrollSpeed"; "required": false; }; "pageScrollEasing": { "alias": "pageScrollEasing"; "required": false; }; "pageScrollInterruptible": { "alias": "pageScrollInterruptible"; "required": false; }; "pageScrollInView": { "alias": "pageScrollInView"; "required": false; }; "pageScrollAdjustHash": { "alias": "pageScrollAdjustHash"; "required": false; }; "pageScroll": { "alias": "pageScroll"; "required": false; }; }, { "pageScrollFinish": "pageScrollFinish"; }, never, never, false, never>;
}
