import { AccessibilityProps } from '../shared/index.js';

type SkeletonShape = 'text' | 'circular' | 'rectangular' | 'rounded';
interface SkeletonProps {
    shape?: SkeletonShape;
    width?: string | number;
    height?: string | number;
    /** Number of lines to render for the text shape variant */
    lines?: number;
    /** Whether to animate the skeleton pulse. Defaults to true */
    animate?: boolean;
}
interface SkeletonAPI {
    /** ARIA attributes to spread on the element */
    ariaProps: Partial<AccessibilityProps>;
    /** Data attributes for CSS styling hooks */
    dataAttributes: Record<string, string>;
}
declare function createSkeleton(props?: SkeletonProps): SkeletonAPI;

declare const skeletonVariants: (props?: ({
    shape?: "text" | "circular" | "rectangular" | "rounded" | undefined;
} & {
    className?: string;
}) | undefined) => string;

export { type SkeletonAPI, type SkeletonProps, type SkeletonShape, createSkeleton, skeletonVariants };
