import { Direction } from '@angular/cdk/bidi';
import * as i0 from '@angular/core';
import { OnInit, OnChanges, TemplateRef, EventEmitter, ElementRef, SimpleChanges } from '@angular/core';
import { NzConfigService, NzConfigKey } from 'ng-zorro-antd/core/config';

/**
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */

/**
 * @deprecated Will be removed in v21. It is recommended to use `<nz-float-button-top>` instead.
 */
declare class NzBackTopComponent implements OnInit, OnChanges {
    nzConfigService: NzConfigService;
    private scrollSrv;
    private platform;
    private zone;
    private cdr;
    private directionality;
    private destroyRef;
    readonly _nzModuleName: NzConfigKey;
    private scrollListenerDestroy$;
    private target;
    visible: boolean;
    dir: Direction;
    nzTemplate?: TemplateRef<void>;
    nzVisibilityHeight: number;
    nzTarget?: string | HTMLElement;
    nzDuration: number;
    readonly nzClick: EventEmitter<boolean>;
    set backTop(backTop: ElementRef<HTMLElement> | undefined);
    private backTopClickSubscription;
    private doc;
    constructor();
    ngOnInit(): void;
    private getTarget;
    private handleScroll;
    private registerScrollEvent;
    ngOnChanges(changes: SimpleChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzBackTopComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzBackTopComponent, "nz-back-top", ["nzBackTop"], { "nzTemplate": { "alias": "nzTemplate"; "required": false; }; "nzVisibilityHeight": { "alias": "nzVisibilityHeight"; "required": false; }; "nzTarget": { "alias": "nzTarget"; "required": false; }; "nzDuration": { "alias": "nzDuration"; "required": false; }; }, { "nzClick": "nzClick"; }, never, never, true, never>;
    static ngAcceptInputType_nzVisibilityHeight: unknown;
    static ngAcceptInputType_nzDuration: unknown;
}

/**
 * @deprecated Will be removed in v21. It is recommended to use `<nz-float-button-top>` instead.
 */
declare class NzBackTopModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<NzBackTopModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<NzBackTopModule, never, [typeof NzBackTopComponent], [typeof NzBackTopComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<NzBackTopModule>;
}

export { NzBackTopComponent, NzBackTopModule };
