import React from 'react';
import type { CommonProps } from '../../internal/CommonWrapper/index.js';
import type { TGetRootNode } from '../../lib/rootNode/index.js';
declare const types: readonly ["big", "mini", "normal"];
export type SpinnerType = (typeof types)[number];
export interface SpinnerProps extends CommonProps {
    /**
     * Подпись спиннера
     */
    caption?: React.ReactNode;
    /**
     * Размер индикатора и текста
     *
     * @default normal
     */
    type?: SpinnerType;
    /**
     * Одноцветный режим. Удобная альтернатива пропа `dimmed`
     */
    color?: React.CSSProperties['color'];
    /**
     * Уменьшает размер индикатора для работы в строках. Если задан, то размер индикитора из `type` игнорируется
     *
     * @default false
     */
    inline?: boolean;
    /**
     * Толщина индикатора в пикселях.
     *
     * @default 2
     */
    width?: number;
    /**
     * Одноцветный режим. Цвет спиннера не переливается. Можно кастомизировать переменной `spinnerDimmedColor`
     *
     * @default false
     */
    dimmed?: boolean;
}
export declare const SpinnerDataTids: {
    readonly root: "Spinner__root";
};
type DefaultProps = Required<Pick<SpinnerProps, 'type'>>;
/**
 * `Spinner` — это зацикленный индикатор, не отображающий прогресс выполнения задачи.
 */
export declare class Spinner extends React.Component<SpinnerProps> {
    static __KONTUR_REACT_UI__: string;
    static displayName: string;
    static defaultProps: DefaultProps;
    private getProps;
    static Types: Record<SpinnerType, SpinnerType>;
    private emotion;
    private cx;
    private styles;
    private theme;
    getRootNode: TGetRootNode;
    private setRootNode;
    render(): React.JSX.Element;
    private renderMain;
    private renderSpinner;
    private renderCaption;
}
export {};
