import { AfterContentChecked, AfterContentInit, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
import { BaseStatesDirective } from '@eui/components/shared';
import * as i0 from "@angular/core";
import * as i1 from "@eui/components/shared";
/**
 * @description
 * Circular progress indicator component that can display progress with optional labels and color states.
 *
 */
export declare class EuiProgressCircleComponent implements AfterContentInit, OnChanges, AfterContentChecked {
    /** CSS classes applied to the host element */
    get cssClasses(): string;
    /**
     * Accessibility label for the progress circle
     * @default 'progress circle'
     */
    ariaLabel: string;
    /**
     * Whether to use default color steps based on value thresholds
     * @default true
     */
    isDefaultColorSteps: boolean;
    /**
     * Whether to display the label at the bottom of the circle
     * @default false
     */
    hasBottomLabel: boolean;
    /**
     * Current progress value (0-100)
     * @default undefined
     */
    value: number;
    /**
     * Label to display when value is 0
     * @default 'N/A'
     */
    emptyLabel: string;
    /**
     * Custom label to display instead of percentage
     */
    valueLabel: string;
    /**
     * Custom color step thresholds (space or comma separated values)
     * @example '33 66' or '33,66'
     */
    colorSteps: string;
    /**
     * Override color type ('success', 'warning', 'danger')
     */
    colorType: string;
    /**
     * CSS class for the icon label
     */
    /** @deprecated This will be removed in next version of eui in favor of icon */
    iconLabelClass: string;
    /**
     * Additional style class for the icon label
     */
    /** @deprecated This will be removed in next version of eui in favor of fillColor */
    iconLabelStyleClass: string;
    /**
     * Tab index for accessibility
     * @default '0'
     */
    tabindex: string;
    /**
     * Svg icon option
     */
    icon: string;
    /**
     * Svg icon fill color option
     * @default 'neutral' (black)
     */
    fillColor: string;
    /**
     * Svg icon size option
     * @default 'm'
     */
    size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl';
    /** CSS class for the current color state */
    stateColorNumberClass: string;
    /** Currently displayed label value */
    labelValue: string;
    /** Percentage value as string */
    percentValue: string;
    /** Rounded value for display */
    roundedValue: number;
    /** Whether the label exceeds a width threshold */
    isLongLabel: boolean;
    /** Current width of the label element */
    offsetWidth: number;
    /** Reference to the label value element */
    labelValueEl: ElementRef<HTMLSpanElement>;
    protected baseStatesDirective: BaseStatesDirective;
    private cd;
    /**
     * Initializes color steps and labels after content is initialized
     */
    ngAfterContentInit(): void;
    /**
     * Checks and updates label width after content changes
     */
    ngAfterContentChecked(): void;
    /**
     * Handles changes to input properties
     * @param c - SimpleChanges object containing changed properties
     */
    ngOnChanges(c: SimpleChanges): void;
    /**
     * Sets the color state based on value and thresholds
     * @deprecated avoid using this method. It will become private in the future.
     */
    setColorSteps(): void;
    /**
     * Sets the display label based on current value and configuration
     * @deprecated avoid using this method. It will become private in the future.
     */
    setLabels(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiProgressCircleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiProgressCircleComponent, "eui-progress-circle", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "isDefaultColorSteps": { "alias": "isDefaultColorSteps"; "required": false; }; "hasBottomLabel": { "alias": "hasBottomLabel"; "required": false; }; "value": { "alias": "value"; "required": false; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; }; "valueLabel": { "alias": "valueLabel"; "required": false; }; "colorSteps": { "alias": "colorSteps"; "required": false; }; "colorType": { "alias": "colorType"; "required": false; }; "iconLabelClass": { "alias": "iconLabelClass"; "required": false; }; "iconLabelStyleClass": { "alias": "iconLabelStyleClass"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "fillColor": { "alias": "fillColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiSizeS": "euiSizeS"; "euiSizeM": "euiSizeM"; "euiSizeL": "euiSizeL"; "euiSizeVariant": "euiSizeVariant"; }; outputs: {}; }]>;
    static ngAcceptInputType_isDefaultColorSteps: unknown;
    static ngAcceptInputType_hasBottomLabel: unknown;
}
/**
 * @deprecated Import the standalone {@link EUI_PROGRESS_CIRCLE} instead.
 * This module is maintained for backward compatibility.
 */
export declare class EuiProgressCircleModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiProgressCircleModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<EuiProgressCircleModule, never, [typeof EuiProgressCircleComponent], [typeof EuiProgressCircleComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<EuiProgressCircleModule>;
}
//# sourceMappingURL=eui-progress-circle.component.d.ts.map