import { type ComponentPropsWithoutRef } from "react";
export type SkeletonShape = 
/** Rounded rectangle — the workhorse shape. */
"rect"
/** Perfect circle — pass either `width` OR `height`; the other matches. */
 | "circle"
/** Single line of text — small height, full width by default. */
 | "text"
/** Fully-rounded pill — chip / badge placeholders. */
 | "pill";
export type SkeletonAnimation = "pulse" | "shimmer" | "none";
type DivPropsBase = Omit<ComponentPropsWithoutRef<"div">, "children" | "width" | "height">;
export interface SkeletonProps extends DivPropsBase {
    shape?: SkeletonShape;
    /** Width — number = px, string = any CSS length. */
    width?: number | string;
    /** Height — number = px, string = any CSS length. For `shape="circle"`
     *  omit one of `width` / `height` and the other matches. */
    height?: number | string;
    /** Animation mode. Default `"pulse"`. */
    animation?: SkeletonAnimation;
    /** @deprecated — use `shape` instead. Kept for back-compat with v1. */
    variant?: "text" | "circular" | "rectangular";
    /** @deprecated — use `<SkeletonText lines={…}>` instead. Renders an
     *  inline group of `text` skeletons for legacy callers. */
    lines?: number;
}
export declare const Skeleton: import("react").ForwardRefExoticComponent<SkeletonProps & import("react").RefAttributes<HTMLDivElement>>;
export interface SkeletonTextProps extends DivPropsBase {
    lines?: number;
    width?: number | string;
    /** Width of the LAST line as a fraction of the others (0–1) so the
     *  paragraph feels naturally "wrapped". Default 0.75. */
    lastLineWidth?: number;
    animation?: SkeletonAnimation;
}
export declare const SkeletonText: import("react").ForwardRefExoticComponent<SkeletonTextProps & import("react").RefAttributes<HTMLDivElement>>;
export interface SkeletonGroupProps extends ComponentPropsWithoutRef<"div"> {
    /** Layout direction. Default `"vertical"`. */
    direction?: "vertical" | "horizontal";
    /** Gap between children in px or any CSS length. */
    gap?: number | string;
    "aria-label"?: string;
}
export declare const SkeletonGroup: import("react").ForwardRefExoticComponent<SkeletonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
export {};
//# sourceMappingURL=Skeleton.d.ts.map