/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AnimationEndEvent } from './types/animation-end-event';
import { ProgressBarBase } from './common/progressbar-base';
import { NgZone, Renderer2, ElementRef, EventEmitter, SimpleChanges } from '@angular/core';
import { LabelSettings } from './types/label-settings.interface';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { ProgressBarAnimation } from './types/progressbar-animation.interface';
import * as i0 from "@angular/core";
/**
 * Represents the [Kendo UI ProgressBar component for Angular]({% slug overview_progressbar %}).
 *
 * @example
 * ```ts-preview
 * _@Component({
 *    selector: 'my-app',
 *    template: `
 *        <kendo-progressbar [value]="value">
 *        </kendo-progressbar>
 *    `
 * })
 * class AppComponent {
 *     public value = 50;
 * }
 * ```
 */
export declare class ProgressBarComponent extends ProgressBarBase {
    localization: LocalizationService;
    elem: ElementRef;
    renderer: Renderer2;
    private zone;
    /**
     * Determines whether the status label will be visible.
     * Defaults to `true`&mdash;the label will be visible and displayed with the default
     * `LabelSettings` having its position set to `end` and its format set to `value`.
     */
    label: boolean | LabelSettings;
    /**
     * The CSS styles that will be rendered on the inner element which represents the full portion of the progress bar
     * ([see example]({% slug progressbar_appearance %})).
     * Supports the type of values that are supported by [`ngStyle`](link:site.data.urls.angular['ngstyleapi']).
     */
    progressCssStyle: {
        [key: string]: string;
    };
    /**
     * The CSS classes that will be rendered on the inner element which represents the full portion of the progress bar
     * ([see example]({% slug progressbar_appearance %})).
     * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
     */
    progressCssClass: string | string[] | Set<string> | {
        [key: string]: any;
    };
    /**
     * The CSS styles that will be rendered on the inner element which represents the empty portion of the progress bar
     * ([see example]({% slug progressbar_appearance %})).
     * Supports the type of values that are supported by [`ngStyle`](link:site.data.urls.angular['ngstyleapi']).
     */
    emptyCssStyle: {
        [key: string]: string;
    };
    /**
     * The CSS classes that will be rendered on the inner element which represents the empty portion of the progress bar
     * ([see example]({% slug progressbar_appearance %})).
     * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
     */
    emptyCssClass: string | string[] | Set<string> | {
        [key: string]: any;
    };
    /**
     * The animation configuration of the ProgressBar.
     * Defaults to `false`.
     */
    animation: boolean | ProgressBarAnimation;
    /**
     * Fires when the animation which indicates the latest value change is completed.
     */
    animationEnd: EventEmitter<AnimationEndEvent>;
    /**
     * @hidden
     */
    get showLabel(): boolean;
    /**
     * @hidden
     */
    get labelPosition(): string;
    /**
     * @hidden
     */
    get isPositionStart(): boolean;
    /**
     * @hidden
     */
    get isPositionCenter(): boolean;
    /**
     * @hidden
     */
    get isPositionEnd(): boolean;
    /**
     * @hidden
     */
    get formattedLabelValue(): string;
    private progressStatusElement;
    private progressStatusWrapperElement;
    private animationFrame;
    private cancelCurrentAnimation;
    private isAnimationInProgress;
    /**
     * @hidden
     */
    constructor(localization: LocalizationService, elem: ElementRef, renderer: Renderer2, zone: NgZone);
    /**
     * @hidden
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * @hidden
     */
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    protected startAnimation(previousValue: number): void;
    /**
     * @hidden
     */
    protected get animationDuration(): number;
    private stopAnimation;
    private getAnimationOptions;
    private renderValueChange;
    private resetProgress;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProgressBarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProgressBarComponent, "kendo-progressbar", ["kendoProgressBar"], { "label": { "alias": "label"; "required": false; }; "progressCssStyle": { "alias": "progressCssStyle"; "required": false; }; "progressCssClass": { "alias": "progressCssClass"; "required": false; }; "emptyCssStyle": { "alias": "emptyCssStyle"; "required": false; }; "emptyCssClass": { "alias": "emptyCssClass"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; }, { "animationEnd": "animationEnd"; }, never, never, true, never>;
}
