import { Skeleton as HeroUISkeleton } from '@heroui/react'; import { ComponentProps, ReactElement } from 'react'; /** * Semantic skeleton shapes used across Athena Auth UI loading states. * * - `text` — label / caption line * - `input` — form field bar * - `button` — full-width control (pill) * - `avatar` — circular avatar placeholder * - `icon` — rounded square (list leading icon) * - `cell` — flexible table cell bar * - `block` — generic content block */ export type HeroSkeletonVariant = "avatar" | "block" | "button" | "cell" | "icon" | "input" | "text"; export type HeroSkeletonSize = "sm" | "md" | "lg"; /** * Horizontal span for line-like variants (`text`, `input`, `button`, `block`, `cell`). * Fixed box variants (`avatar`, `icon`) ignore width. */ export type HeroSkeletonWidth = "2xl" | "auto" | "full" | "lg" | "md" | "sm" | "xl" | "xs"; type HeroUISkeletonProps = ComponentProps; export type HeroSkeletonProps = Omit & { size?: HeroSkeletonSize; variant?: HeroSkeletonVariant; width?: HeroSkeletonWidth; }; /** * Athena Auth UI skeleton wrapper around HeroUI `Skeleton`. * * Prefer `variant` + `size` (+ optional `width`) over one-off height/width classes * so loading placeholders stay consistent and lean. * * @param className - Additional CSS classes applied to the skeleton * @param size - Size of the skeleton * @param variant - Variant of the skeleton * @param width - Width of the skeleton * @param props - Additional props for the skeleton * @returns The skeleton React element * * @example * * * */ export declare function HeroSkeleton({ className, size, variant, width, ...props }: HeroSkeletonProps): ReactElement; /** Alias for lean call sites that want a package `Skeleton` name. */ export declare const Skeleton: typeof HeroSkeleton; export {};