/**
 * @license
 * Copyright Alibaba.com All Rights Reserved.
 *
 * 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
 */
import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { NgStyleInterface, NzConfigService } from 'ng-zorro-antd/core';
import { NzProgressCirclePath, NzProgressFormatter, NzProgressGapPositionType, NzProgressStatusType, NzProgressStepItem, NzProgressStrokeColorType, NzProgressStrokeLinecapType, NzProgressTypeType } from './typings';
import * as i0 from "@angular/core";
export declare class NzProgressComponent implements OnChanges, OnInit, OnDestroy {
    nzConfigService: NzConfigService;
    nzShowInfo: boolean;
    nzWidth: number;
    nzStrokeColor: NzProgressStrokeColorType;
    nzSize: 'default' | 'small';
    nzFormat?: NzProgressFormatter;
    nzSuccessPercent?: number;
    nzPercent: number;
    nzStrokeWidth: number;
    nzGapDegree: number;
    nzStatus: NzProgressStatusType;
    nzType: NzProgressTypeType;
    nzGapPosition: NzProgressGapPositionType;
    nzStrokeLinecap: NzProgressStrokeLinecapType;
    nzSteps?: number;
    steps: NzProgressStepItem[];
    /** Gradient style when `nzType` is `line`. */
    lineGradient: string | null;
    /** If user uses gradient color. */
    isGradient: boolean;
    /** If the linear progress is a step progress. */
    isSteps: boolean;
    /**
     * Each progress whose `nzType` is circle or dashboard should have unique id to
     * define `<linearGradient>`.
     */
    gradientId: number;
    /** Paths to rendered in the template. */
    progressCirclePath: NzProgressCirclePath[];
    circleGradient: Array<{
        offset: string;
        color: string;
    }>;
    trailPathStyle: NgStyleInterface;
    pathString: string;
    icon: string;
    trackByFn: (index: number) => string;
    get formatter(): NzProgressFormatter;
    get status(): NzProgressStatusType;
    get strokeWidth(): number;
    get isCircleStyle(): boolean;
    private cachedStatus;
    private inferredStatus;
    private destroy$;
    constructor(nzConfigService: NzConfigService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    private updateIcon;
    /**
     * Calculate step render configs.
     */
    private getSteps;
    /**
     * Calculate paths when the type is circle or dashboard.
     */
    private getCirclePaths;
    private setStrokeColor;
    static ɵfac: i0.ɵɵFactoryDef<NzProgressComponent>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<NzProgressComponent, "nz-progress", ["nzProgress"], { "nzShowInfo": "nzShowInfo"; "nzWidth": "nzWidth"; "nzStrokeColor": "nzStrokeColor"; "nzSize": "nzSize"; "nzFormat": "nzFormat"; "nzSuccessPercent": "nzSuccessPercent"; "nzPercent": "nzPercent"; "nzStrokeWidth": "nzStrokeWidth"; "nzGapDegree": "nzGapDegree"; "nzStatus": "nzStatus"; "nzType": "nzType"; "nzGapPosition": "nzGapPosition"; "nzStrokeLinecap": "nzStrokeLinecap"; "nzSteps": "nzSteps"; }, {}, never>;
}
