/**-----------------------------------------------------------------------------------------
* 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
* ```typescript
* @Component({
* selector: 'my-app',
* template: `
*
*
* `
* })
* class AppComponent {
* public value = 50;
* }
* ```
*
* @remarks
* Supported children components are: {@link ProgressBarCustomMessagesComponent}
*/
export declare class ProgressBarComponent extends ProgressBarBase {
localization: LocalizationService;
elem: ElementRef;
renderer: Renderer2;
private zone;
/**
* Determines whether the status label displays.
* @default true
*/
label: boolean | LabelSettings;
/**
* Sets 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 [`ngStyle`](link:site.data.urls.angular['ngstyleapi']) supports.
*/
progressCssStyle: {
[key: string]: string;
};
/**
* The CSS classes that render on the inner element which represents the full portion of the progress bar
* ([see example]({% slug progressbar_appearance %})).
* Supports the type of values that [`ngClass`](link:site.data.urls.angular['ngclassapi']) supports.
*/
progressCssClass: string | string[] | Set | {
[key: string]: any;
};
/**
* The CSS styles that render on the inner element which represents the empty portion of the progress bar
* ([see example]({% slug progressbar_appearance %})).
* Supports the type of values that [`ngStyle`](link:site.data.urls.angular['ngstyleapi']) supports.
*/
emptyCssStyle: {
[key: string]: string;
};
/**
* The CSS classes that render on the inner element which represents the empty portion of the progress bar
* ([see example]({% slug progressbar_appearance %})).
* Supports the type of values that [`ngClass`](link:site.data.urls.angular['ngclassapi']) supports.
*/
emptyCssClass: string | string[] | Set | {
[key: string]: any;
};
/**
* The animation configuration of the ProgressBar.
* @default false
*/
animation: boolean | ProgressBarAnimation;
/**
* Fires when the animation which indicates the latest value change completes.
*/
animationEnd: EventEmitter;
/**
* @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;
static ɵcmp: i0.ɵɵComponentDeclaration;
}