import type { ComponentType } from 'react';
interface SkeletonProps {
    /** The type of skeleton to render */
    variant?: 'text' | 'circular' | 'rectangular' | 'rounded';
    /**
     * Width of the skeleton (ESCAPE HATCH - prefer className for styling)
     * Use when you need precise programmatic control (e.g., matching dynamic content)
     */
    width?: string | number;
    /**
     * Height of the skeleton (ESCAPE HATCH - prefer className for styling)
     * Use when you need precise programmatic control (e.g., matching dynamic content)
     */
    height?: string | number;
    /** Number of lines for text skeleton */
    lines?: number;
    /** Whether to show the skeleton */
    show?: boolean;
    /** CSS class name for additional styling */
    className?: string;
    /** Animation speed */
    animation?: 'pulse' | 'wave' | 'none';
    /** Custom inline styles */
    style?: React.CSSProperties;
}
/**
 * Skeleton - A loading placeholder component
 *
 * Features:
 * - Multiple variants for different content types
 * - Configurable dimensions via escape hatch props
 * - Accessibility support
 * - Smooth animations
 *
 * STYLING APPROACH:
 * - Prefer: <Skeleton className="h-4 w-[250px]" /> (utility classes)
 * - Escape hatch: <Skeleton width={dynamicWidth} height={40} /> (when programmatic)
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
declare const Skeleton: ComponentType<SkeletonProps>;
/**
 * Text skeleton component
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare const SkeletonText: ComponentType<Omit<SkeletonProps, 'variant'> & {
    lines?: number;
}>;
/**
 * Avatar skeleton component
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare const SkeletonAvatar: ComponentType<Omit<SkeletonProps, 'variant'> & {
    size?: number;
}>;
/**
 * Image skeleton component
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare const SkeletonImage: ComponentType<Omit<SkeletonProps, 'variant'> & {
    aspectRatio?: string;
}>;
/**
 * Button skeleton component
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare const SkeletonButton: ComponentType<Omit<SkeletonProps, 'variant'> & {
    size?: 'sm' | 'md' | 'lg';
}>;
/**
 * Card skeleton component
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare const SkeletonCard: ComponentType<Omit<SkeletonProps, 'variant'> & {
    showImage?: boolean;
    showTitle?: boolean;
    showDescription?: boolean;
}>;
/**
 * Table skeleton component
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare const SkeletonTable: ComponentType<Omit<SkeletonProps, 'variant'> & {
    rows?: number;
    columns?: number;
}>;
export default Skeleton;
//# sourceMappingURL=Skeleton.d.ts.map