import * as i0 from '@angular/core';
import { OnInit, OnChanges, AfterViewInit, ElementRef, ChangeDetectorRef, SimpleChanges } from '@angular/core';

type ProgressIndicatorState = 'informative' | 'positive' | 'critical' | 'negative';
declare class ProgressIndicatorComponent implements OnInit, OnChanges, AfterViewInit {
    private _elementRef;
    private _cdRef;
    /** The text to display if you would like to override the default percentage text. */
    valueText: string;
    /** Custom unit if you would like to override the default percentage. */
    unit: string;
    /** The minimum value possible for the progress indicator. */
    valueMin: number;
    /** The maximum value possible for the progress indicator. */
    valueMax: number;
    /** The current value for the progress indicator. */
    valueNow: number;
    /** The state for the progress indicator. */
    state?: ProgressIndicatorState;
    /** Whether or not to animate changes to the progress bar's valueNow. */
    animate: boolean;
    /** @hidden */
    hasPopover: boolean;
    /** @hidden */
    _progressBarWidth: number;
    /** @hidden An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)  */
    private readonly _destroyRef;
    /** @hidden */
    constructor(_elementRef: ElementRef, _cdRef: ChangeDetectorRef);
    /** @hidden */
    ngOnChanges(changes: SimpleChanges): void;
    /** @hidden */
    ngOnInit(): void;
    /** @hidden */
    ngAfterViewInit(): void;
    /** @hidden */
    calculateProgressBarWidth(): number;
    /** @hidden */
    private _handleTruncation;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProgressIndicatorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProgressIndicatorComponent, "fd-progress-indicator", never, { "valueText": { "alias": "valueText"; "required": false; }; "unit": { "alias": "unit"; "required": false; }; "valueMin": { "alias": "valueMin"; "required": false; }; "valueMax": { "alias": "valueMax"; "required": false; }; "valueNow": { "alias": "valueNow"; "required": false; }; "state": { "alias": "state"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * @deprecated
 * Use `ProgressIndicatorComponent` import instead.
 */
declare class ProgressIndicatorModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<ProgressIndicatorModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<ProgressIndicatorModule, never, [typeof ProgressIndicatorComponent], [typeof ProgressIndicatorComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<ProgressIndicatorModule>;
}

export { ProgressIndicatorComponent, ProgressIndicatorModule };
export type { ProgressIndicatorState };
