import * as i0 from '@angular/core';
import { OnChanges, SimpleChanges } from '@angular/core';
import { NumberInput, BooleanInput } from '@angular/cdk/coercion';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';
/**
* @description
* Horizontal progress indicator component that visualizes task completion or loading states.
* Supports determinate progress with percentage values and indeterminate loading animations.
* Provides optional labeling and status icons for contextual feedback.
* Integrates with BaseStatesDirective for theming variants (success, warning, danger) and sizing options.
* Commonly used for file uploads, form submissions, data processing, and loading indicators.
*
* @usageNotes
* ### Basic usage
* ```html
*
* ```
*
* ### Indeterminate loading
* ```html
*
* ```
*
* ### With status variants
* ```html
*
*
*
* ```
*
* ### Accessibility
* - Uses ARIA attributes to communicate progress state to assistive technologies
* - Label provides context for screen readers
* - Status icons enhance visual feedback for users with color vision deficiencies
*
* ### Notes
* - Progress values are automatically capped at 100
* - Indeterminate mode shows continuous animation for unknown duration tasks
* - Combine with status variants to indicate success, warning, or error states
*/
declare class EuiProgressBarComponent implements OnChanges {
/** Element attribute for e2e testing */
e2eAttr: string;
/** CSS classes applied to the host element */
get cssClasses(): string;
/** Optional label displayed above the progress bar */
label: string;
/**
* Current progress value (0-100)
* Values greater than 100 will be capped at 100
*/
progress: NumberInput;
/**
* When true, shows an indeterminate progress animation
* instead of a specific progress value
*/
isIndeterminate: BooleanInput;
/**
* When true, displays a status icon based on the current state
* (success, warning, error, etc.)
*/
hasStatusIcon: BooleanInput;
/**
* Reference to the BaseStatesDirective for managing component states
*/
baseStatesDirective: BaseStatesDirective;
ngOnChanges(changes: SimpleChanges): void;
/**
* Generates CSS classes for the component based on current state
* @returns Space-separated string of CSS class names
*/
private getCssClasses;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
static ngAcceptInputType_progress: unknown;
static ngAcceptInputType_isIndeterminate: unknown;
static ngAcceptInputType_hasStatusIcon: unknown;
}
declare const EUI_PROGRESS_BAR: readonly [typeof EuiProgressBarComponent];
export { EUI_PROGRESS_BAR, EuiProgressBarComponent };
//# sourceMappingURL=eui-components-eui-progress-bar.d.ts.map