import { type SpinnerName } from 'cli-spinners';
import React from 'react';
import { RequiredDesign } from '../design.js';
type UseSpinnerProps = {
    /**
     * Type of a spinner.
     * See [cli-spinners](https://github.com/sindresorhus/cli-spinners) for available spinners.
     *
     * @default dots
     */
    readonly type?: SpinnerName;
};
type SpinnerProps = UseSpinnerProps & {
    /**
     * Label to show near the spinner.
     */
    readonly label?: string;
    readonly isBold?: boolean;
    readonly labelPosition?: 'left' | 'right';
};
export declare function Spinner({ isBold, label, labelPosition, type }: SpinnerProps): React.ReactElement;
export declare function SpinnerOrError({ design, error, labelPosition, ...props }: SpinnerProps & {
    readonly error?: Error;
    readonly design: RequiredDesign;
}): React.ReactElement;
export declare function SpinnerOrErrorOrChildren({ children, error, ...props }: SpinnerProps & {
    readonly children?: React.ReactNode;
    readonly error?: Error;
    readonly design: RequiredDesign;
}): React.ReactElement;
export {};
