import * as _angular_core from '@angular/core';
import { BaseComponent } from 'primeng/basecomponent';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import { ProgressSpinnerPassThrough } from 'primeng/types/progressspinner';
import { BaseStyle } from 'primeng/base';
import * as i2 from 'primeng/api';

/**
 *
 * ProgressSpinner is a process status indicator.
 *
 * [Live Demo](https://www.primeng.org/progressspinner)
 *
 * @module progressspinnerstyle
 *
 */
declare enum ProgressSpinnerClasses {
    /**
     * Class name of the root element
     */
    root = "p-progressspinner",
    /**
     * Class name of the circle element
     */
    circle = "p-progressspinner-circle",
    /**
     * Class name of the circle track element
     */
    circleTrack = "p-progressspinner-circle-track",
    /**
     * Class name of the circle range element
     */
    circleRange = "p-progressspinner-circle-range",
    /**
     * Class name of the value element
     */
    value = "p-progressspinner-value"
}
declare class ProgressSpinnerStyle extends BaseStyle {
    name: string;
    style: string;
    classes: {
        root: string;
        circle: string;
        circleTrack: string;
        circleRange: string;
        value: string;
    };
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressSpinnerStyle, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<ProgressSpinnerStyle>;
}
interface ProgressSpinnerStyle extends BaseStyle {
}

/**
 * ProgressSpinner is a process status indicator.
 * @group Components
 */
declare class ProgressSpinner extends BaseComponent<ProgressSpinnerPassThrough> {
    componentName: string;
    $pcProgressSpinner: ProgressSpinner | undefined;
    bindDirectiveInstance: Bind;
    /**
     * Current value of the progress. When null or undefined, the spinner is in indeterminate mode.
     * @defaultValue null
     * @group Props
     */
    value: _angular_core.InputSignal<number | null | undefined>;
    /**
     * Width of the circle stroke.
     * @defaultValue 4
     * @group Props
     */
    strokeWidth: _angular_core.InputSignalWithTransform<number, unknown>;
    /**
     * Duration of the rotate animation.
     * @group Props
     */
    animationDuration: _angular_core.InputSignal<string>;
    /**
     * Minimum value.
     * @defaultValue 0
     * @group Props
     */
    min: _angular_core.InputSignalWithTransform<number, unknown>;
    /**
     * Maximum value.
     * @defaultValue 100
     * @group Props
     */
    max: _angular_core.InputSignalWithTransform<number, unknown>;
    /**
     * Used to define a aria label attribute the current element.
     * @group Props
     */
    ariaLabel: _angular_core.InputSignal<string | undefined>;
    /**
     * Color for the background of the circle.
     * @group Props
     */
    fill: _angular_core.InputSignal<string>;
    _componentStyle: ProgressSpinnerStyle;
    indeterminate: _angular_core.Signal<boolean>;
    _radius: _angular_core.Signal<number>;
    _circumference: _angular_core.Signal<number>;
    _clampedValue: _angular_core.Signal<number>;
    _percent: _angular_core.Signal<number>;
    _dashOffset: _angular_core.Signal<number>;
    _displayPercent: _angular_core.Signal<number>;
    _dataState: _angular_core.Signal<"indeterminate" | "determinate">;
    _dataValue: _angular_core.Signal<number | undefined>;
    _ariaValueMin: _angular_core.Signal<number | undefined>;
    _ariaValueMax: _angular_core.Signal<number | undefined>;
    _ariaValueNow: _angular_core.Signal<number | undefined>;
    onAfterViewChecked(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressSpinner, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressSpinner, "p-progress-spinner, p-progressspinner", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "animationDuration": { "alias": "animationDuration"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "fill": { "alias": "fill"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class ProgressSpinnerModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressSpinnerModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<ProgressSpinnerModule, never, [typeof ProgressSpinner, typeof i2.SharedModule], [typeof ProgressSpinner, typeof i2.SharedModule]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<ProgressSpinnerModule>;
}

export { ProgressSpinner, ProgressSpinnerClasses, ProgressSpinnerModule, ProgressSpinnerStyle };
