import { IcLoadingCircleXYR, IcLoadingSizes, IcLoadingTypes } from "./ic-loading-indicator.types";
import { IcThemeMode } from "../../utils/types";
export declare class LoadingIndicator {
    private innerElement?;
    private interval;
    private labelList;
    private outerElement?;
    el: HTMLIcLoadingIndicatorElement;
    circularDiameter: number;
    circularLineWidth: number;
    circularDimensions: IcLoadingCircleXYR;
    indicatorLabel?: string;
    clipInnerElement: boolean;
    internalType: IcLoadingTypes;
    /**
     * The description that will be set as the aria-label of the loading indicator when not using a visible label.
     */
    description: string;
    /**
     * If `true`, when linear, the full-width variant (i.e. without a border radius) will be displayed.
     */
    fullWidth: boolean;
    /**
     * @internal The step number of a compact step, managed by ic-step.
     */
    innerLabel?: number;
    /**
     * The label to be displayed beneath the loading indicator.
     * Display a changing label by supplying an array of messages.
     */
    label?: string | string[];
    watchPropHandler(): void;
    /**
     * The time in milliseconds before the label changes.
     */
    labelDuration: number;
    /**
     * The maximum value that the progress value can take.
     * Used to calculate the proportional width of the progress bar.
     */
    max: number;
    /**
     * The minimum value that the progress value can take.
     * Used to calculate the proportional width of the progress bar.
     */
    min: number;
    /**
     * If `true`, the element will display as black and white.
     */
    monochrome: boolean;
    /**
     * The current amount of progress made.
     * If not provided, component acts as an indeterminate loading indicator.
     */
    progress?: number;
    handleProgressChange(): void;
    /**
     * The size of the loading indicator.
     */
    size: IcLoadingSizes;
    handleIconSize(): void;
    /**
     * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
     */
    theme: IcThemeMode;
    /**
     * The type of indicator, either linear or circular. When size is set to 'icon' the type will be set to circular.
     */
    type: IcLoadingTypes;
    setIndicatorDimensions(): void;
    disconnectedCallback(): void;
    componentWillLoad(): void;
    componentDidLoad(): void;
    private getLabel;
    private getLabelVariant;
    private calculateWidth;
    private calculateProportion;
    private setLinearDeterminateWidth;
    private setInternalType;
    private updateLabel;
    private setCircleDimensions;
    render(): any;
}
