import { RangeBaseElement } from '../Abstracts/RangeBaseElement';
import type { IProgressRingElementProps } from './IProgressRingElementProps';
import { CssLength } from '@breadstone/mosaik-themes';
declare const ProgressRingElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Labelable").ILabelableProps) & typeof RangeBaseElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Progress Ring - A circular version of a progress bar, often used for visual appeal.
 *
 * @category Range
 * @element mosaik-progress-ring
 *
 * @slot label - The label slot.
 * @slot hint - The hint slot.
 *
 * @public
 */
export declare class ProgressRingElement extends ProgressRingElement_base implements IProgressRingElementProps {
    private _isIndeterminate;
    private _thickness;
    private _radius;
    private _percent;
    constructor();
    /**
     * Returns the `is` property.
     *
     * @public
     * @static
     * @readonly
    */
    static get is(): string;
    /**
     * Determines if `ProgressRing` shows actual values `false` or generic, continuous progress feedback `true`.
     *
     * @public
     * @attr
     */
    get isIndeterminate(): boolean;
    set isIndeterminate(value: boolean);
    /**
     * @public
     * @attr
     */
    get thickness(): CssLength;
    set thickness(value: CssLength);
    /**
     * @public
     * @attr
     */
    get radius(): CssLength;
    set radius(value: CssLength);
    /**
     * @private
     * @readonly
     */
    get percent(): number;
    /**
     * @private
     * @hidden
     * @readonly
     */
    get diameter(): number;
    /**
     * @protected
     * @override
     */
    protected onValueChanged(prev: number, next: number): void;
    /**
     * @protected
     */
    protected onRadiusPropertyChanged(_prev?: number, _next?: number): void;
    /**
     * @private
     */
    getCircumference(): number;
    /**
     * @private
     */
    getOffset(): number;
}
/**
* @public
*/
export declare namespace ProgressRingElement {
    type Props = IProgressRingElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-progress-ring': ProgressRingElement;
    }
}
export {};
//# sourceMappingURL=ProgressRingElement.d.ts.map