import { type ComponentPropsWithoutRef, type ComponentType, type Ref } from 'react'; import { type TimerBadgeFormat, type UseTimerOptions } from './useTimer'; export type TimerBadgeVariant = 'default' | 'outline' | 'ghost' | 'destructive'; export type TimerBadgeSize = 'sm' | 'md' | 'lg'; export type TimerBadgeRootProps = Omit, 'color'> & { variant?: TimerBadgeVariant; size?: TimerBadgeSize; loading?: boolean; ref?: Ref; }; export type TimerBadgeIconComponent = ComponentType<{ className?: string; }>; export type TimerBadgeIconProps = Omit, 'children'> & { size?: TimerBadgeSize; loading?: boolean; icon?: TimerBadgeIconComponent; ref?: Ref; }; export type TimerBadgeDisplayProps = Omit, 'children'> & { time: string; label?: string; size?: TimerBadgeSize; ref?: Ref; }; export type TimerBadgeProps = Omit & UseTimerOptions & { format?: TimerBadgeFormat; }; export declare const TimerBadge: ({ loading, onTick, resetOnLoadingChange, format, variant, size, className, ref, ...props }: TimerBadgeProps) => import("react/jsx-runtime").JSX.Element; export declare const TimerRoot: ({ variant, size, loading, className, ref, ...props }: TimerBadgeRootProps) => import("react/jsx-runtime").JSX.Element; export declare const TimerIcon: ({ size, loading, icon: Icon, className, ref, ...props }: TimerBadgeIconProps) => import("react/jsx-runtime").JSX.Element; export declare const TimerDisplay: ({ size, time, label, className, ref, "aria-label": ariaLabel, "aria-live": ariaLive, ...props }: TimerBadgeDisplayProps) => import("react/jsx-runtime").JSX.Element; export declare const Timer: ({ loading, onTick, resetOnLoadingChange, format, variant, size, className, ref, ...props }: TimerBadgeProps) => import("react/jsx-runtime").JSX.Element; export type TimerRootProps = TimerBadgeRootProps; export type TimerIconProps = TimerBadgeIconProps; export type TimerDisplayProps = TimerBadgeDisplayProps; export type TimerProps = TimerBadgeProps;