import * as i0 from '@angular/core';
import { OnInit, TemplateRef, ChangeDetectorRef, DestroyRef, OnChanges, EventEmitter, SimpleChanges } from '@angular/core';
import { Direction } from '@angular/cdk/bidi';
import { NgStyleInterface } from 'ng-zorro-antd/core/types';

/**
 * 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
 */
type NzStatisticValueType = number | string;

/**
 * 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
 */

declare class NzStatisticComponent implements OnInit {
    nzPrefix?: string | TemplateRef<void>;
    nzSuffix?: string | TemplateRef<void>;
    nzTitle?: string | TemplateRef<void>;
    nzValue?: NzStatisticValueType;
    nzValueStyle: NgStyleInterface;
    nzValueTemplate?: TemplateRef<{
        $implicit: NzStatisticValueType;
    }>;
    nzLoading: boolean;
    dir: Direction;
    protected cdr: ChangeDetectorRef;
    protected destroyRef: DestroyRef;
    private directionality;
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzStatisticComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzStatisticComponent, "nz-statistic", ["nzStatistic"], { "nzPrefix": { "alias": "nzPrefix"; "required": false; }; "nzSuffix": { "alias": "nzSuffix"; "required": false; }; "nzTitle": { "alias": "nzTitle"; "required": false; }; "nzValue": { "alias": "nzValue"; "required": false; }; "nzValueStyle": { "alias": "nzValueStyle"; "required": false; }; "nzValueTemplate": { "alias": "nzValueTemplate"; "required": false; }; "nzLoading": { "alias": "nzLoading"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_nzLoading: unknown;
}

declare class NzCountdownComponent extends NzStatisticComponent implements OnInit, OnChanges {
    private ngZone;
    private platform;
    nzFormat: string;
    readonly nzCountdownFinish: EventEmitter<void>;
    diff: number;
    private target;
    private intervalId;
    constructor();
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    syncTimer(): void;
    startTimer(): void;
    stopTimer(): void;
    /**
     * Update time that should be displayed on the screen.
     */
    protected updateValue(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzCountdownComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzCountdownComponent, "nz-countdown", ["nzCountdown"], { "nzFormat": { "alias": "nzFormat"; "required": false; }; }, { "nzCountdownFinish": "nzCountdownFinish"; }, never, never, true, never>;
}

declare class NzStatisticNumberComponent implements OnChanges {
    nzValue?: NzStatisticValueType;
    nzValueTemplate?: TemplateRef<{
        $implicit: NzStatisticValueType;
    }>;
    displayInt: string;
    displayDecimal: string;
    private locale_id;
    ngOnChanges(): void;
    private formatNumber;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzStatisticNumberComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzStatisticNumberComponent, "nz-statistic-number", ["nzStatisticNumber"], { "nzValue": { "alias": "nzValue"; "required": false; }; "nzValueTemplate": { "alias": "nzValueTemplate"; "required": false; }; }, {}, never, never, true, never>;
}

declare class NzStatisticModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<NzStatisticModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<NzStatisticModule, never, [typeof NzStatisticComponent, typeof NzCountdownComponent, typeof NzStatisticNumberComponent], [typeof NzStatisticComponent, typeof NzCountdownComponent, typeof NzStatisticNumberComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<NzStatisticModule>;
}

export { NzCountdownComponent, NzStatisticComponent, NzStatisticModule, NzStatisticNumberComponent };
