import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class BackTopComponent implements OnChanges, OnInit, OnDestroy, AfterViewInit {
    private cdr;
    private el;
    private doc;
    customTemplate: TemplateRef<any>;
    visibleHeight: number;
    bottom: string;
    right: string;
    scrollTarget: HTMLElement;
    draggable: boolean;
    backTopEvent: EventEmitter<boolean>;
    dragEvent: EventEmitter<boolean>;
    currScrollTop: number;
    duration: number;
    cursorTimer: any;
    dragBoundary: any;
    moveCursor: boolean;
    moveToggle: boolean;
    isVisible: boolean;
    target: HTMLElement | Window;
    subs: Subscription;
    document: Document;
    SCROLL_REFRESH_INTERVAL: number;
    MOUSEDOWN_DELAY: number;
    RESIZE_DELAY: number;
    constructor(cdr: ChangeDetectorRef, el: ElementRef, doc: any);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    addScrollEvent(): void;
    getScrollTarget(): HTMLElement | Window;
    showButton(): void;
    goTop(): void;
    setDragBoundary(): void;
    mousedownEvent(event: MouseEvent): void;
    mouseleaveEvent(): void;
    onMouseUp(): void;
    onMouseMove(event: MouseEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BackTopComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BackTopComponent, "d-back-top", never, { "customTemplate": { "alias": "customTemplate"; "required": false; }; "visibleHeight": { "alias": "visibleHeight"; "required": false; }; "bottom": { "alias": "bottom"; "required": false; }; "right": { "alias": "right"; "required": false; }; "scrollTarget": { "alias": "scrollTarget"; "required": false; }; "draggable": { "alias": "draggable"; "required": false; }; }, { "backTopEvent": "backTopEvent"; "dragEvent": "dragEvent"; }, never, never, false, never>;
}
