import * as react_jsx_runtime from 'react/jsx-runtime';
import React__default from 'react';
import { VariantProps as VariantPropsInternal } from './variants.js';

declare function BarsSpinner({ fill, ...props }: React__default.SVGProps<SVGSVGElement>): react_jsx_runtime.JSX.Element;
declare namespace BarsSpinner {
    var displayName: string;
}

declare function PulseLoader({ fill, ...props }: React__default.SVGProps<SVGSVGElement>): react_jsx_runtime.JSX.Element;
declare namespace PulseLoader {
    var displayName: string;
}

declare function Spinner({ ...props }: React__default.SVGProps<SVGSVGElement>): react_jsx_runtime.JSX.Element;
declare namespace Spinner {
    var displayName: string;
}

declare function ThreeDotScale({ fill, ...props }: React__default.SVGProps<SVGSVGElement>): react_jsx_runtime.JSX.Element;
declare namespace ThreeDotScale {
    var displayName: string;
}

declare const loader: (props?: ({
    size?: "sm" | "md" | "lg" | undefined;
    color?: "current" | "danger" | "info" | "success" | "warning" | "primary" | "secondary" | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const Components: {
    bars: typeof BarsSpinner;
    pulse: typeof PulseLoader;
    spinner: typeof Spinner;
    threeDot: typeof ThreeDotScale;
};
type LoaderVariant = VariantPropsInternal<typeof loader>;
interface LoaderTypes extends React__default.SVGProps<SVGSVGElement> {
    size?: LoaderVariant['size'];
    variant?: keyof typeof Components;
    color?: LoaderVariant['color'];
    className?: string;
}
declare function Loader({ size, color, variant, className, ...props }: LoaderTypes): react_jsx_runtime.JSX.Element;
declare namespace Loader {
    var displayName: string;
}

export { Loader, type LoaderTypes };
