import * as react_jsx_runtime from 'react/jsx-runtime';
import * as tailwind_variants from 'tailwind-variants';
import { VariantProps } from 'tailwind-variants';

declare const loaderVariants: tailwind_variants.TVReturnType<{
    size: {
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
}, undefined, "relative", {
    size: {
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
}, undefined, tailwind_variants.TVReturnType<{
    size: {
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
}, undefined, "relative", unknown, unknown, undefined>>;
declare function Default({ className, ...props }: React.ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
declare function Spin({ className, ...props }: React.ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
declare const LOADERS: {
    default: typeof Default;
    ring: ({ className, ...props }: React.ComponentProps<"svg">) => react_jsx_runtime.JSX.Element;
    spin: typeof Spin;
};
interface LoaderProps extends Omit<React.ComponentProps<"svg">, "display" | "opacity">, VariantProps<typeof loaderVariants> {
    ref?: React.Ref<SVGSVGElement>;
    variant?: keyof typeof LOADERS;
}
declare function Loader(props: LoaderProps): react_jsx_runtime.JSX.Element;

export { Loader, type LoaderProps };
