import { AfterViewInit, ElementRef, OnDestroy } from '@angular/core';
import { SkyDockService } from '@skyux/core';
import { Subject } from 'rxjs';
import { SkyBackToTopDomAdapterService } from './back-to-top-adapter.service';
import { SkyBackToTopMessage } from './models/back-to-top-message';
import { SkyBackToTopOptions } from './models/back-to-top-options';
import * as i0 from "@angular/core";
/**
 * Associates a button with an element on the page and displays that button
 * to return to the element after users scroll away.
 */
export declare class SkyBackToTopDirective implements AfterViewInit, OnDestroy {
    #private;
    /**
     * Configuration options for the back to top component.
     */
    set skyBackToTop(value: SkyBackToTopOptions | '' | undefined);
    /**
     * The observable to send commands to the back to top component.
     * The commands respect the `SkyBackToTopMessage` type.
     */
    set skyBackToTopMessageStream(value: Subject<SkyBackToTopMessage> | undefined);
    constructor(dockService: SkyDockService, domAdapter: SkyBackToTopDomAdapterService, elementRef: ElementRef);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SkyBackToTopDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SkyBackToTopDirective, "[skyBackToTop]", never, { "skyBackToTop": { "alias": "skyBackToTop"; "required": false; }; "skyBackToTopMessageStream": { "alias": "skyBackToTopMessageStream"; "required": false; }; }, {}, never, never, false, never>;
}
