import * as _angular_core from '@angular/core';
import { ElementRef } from '@angular/core';
import { MXColorComponent } from '@acorex/cdk/common';

type AXCircularProgressMode = 'determinate' | 'indeterminate';
/**
 * Displays the progress of an operation in a circular form. Supports determinate and indeterminate modes,
 * configurable size and stroke, and color theming.
 *
 * @category Components
 */
declare class AXCircularProgressComponent extends MXColorComponent {
    /**
     *  @ignore
     */
    circle: _angular_core.Signal<ElementRef<HTMLDivElement>>;
    /**
     * Defines the progress calculation mode.
     * Use 'determinate' to show a specific percentage or 'indeterminate' for ongoing/spinner state.
     */
    mode: _angular_core.InputSignal<AXCircularProgressMode>;
    /**
     * The percentage value to set for the progress (0–100).
     */
    progress: _angular_core.ModelSignal<number>;
    /**
     * Stroke width of the circular track, in pixels.
     */
    stroke: _angular_core.ModelSignal<number>;
    /**
     * Overall diameter of the circular progress, in pixels.
     */
    size: _angular_core.ModelSignal<number>;
    /**
     *  @ignore
     */
    constructor();
    /**
     *  @ignore
     */
    private get __hostClass();
    /**
     * Sets the CSS custom properties to reflect the current `size` and `stroke` values.
     *
     * Updates `--ax-comp-circular-progress-circle-size` and `--ax-comp-circular-progress-stroke-size` on the circle.
     *
     * @returns void - Styles are applied to the circle element when available.
     */
    setCircularSize(): void;
    /**
     * Recalculates and applies the progress arc background based on the current `progress` value.
     *
     * Uses a conic-gradient with `--ax-comp-progress-circular-color` and `--ax-comp-progress-circular-line-color`.
     * The expected range for `progress` is 0–100.
     *
     * @returns void - Styles are applied to the circle element when available.
     */
    updateProgress(): void;
    /**
     * Applies a default visual state for the indeterminate mode when no explicit `progress` is set.
     *
     * If `mode` is 'indeterminate' and `progress` is not set, it sets `progress` to 65 to render a visible arc.
     *
     * @returns void
     */
    setIndeterminateMode(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXCircularProgressComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCircularProgressComponent, "ax-circular-progress", never, { "color": { "alias": "color"; "required": false; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "stroke": { "alias": "stroke"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "progress": "progressChange"; "stroke": "strokeChange"; "size": "sizeChange"; }, never, ["ax-prefix", "*", "ax-suffix"], true, never>;
}

declare class AXCircularProgressModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXCircularProgressModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXCircularProgressModule, never, [typeof AXCircularProgressComponent], [typeof AXCircularProgressComponent]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXCircularProgressModule>;
}

export { AXCircularProgressComponent, AXCircularProgressModule };
export type { AXCircularProgressMode };
