import React from 'react'; interface DynamicSkeletonProps { /** * Type of skeleton animation */ animation?: 'pulse' | 'shimmer' | 'wave' | 'static'; /** * Skeleton variant based on content type */ variant?: 'text' | 'avatar' | 'card' | 'button' | 'image' | 'custom'; /** * Size preset for common elements */ size?: 'sm' | 'md' | 'lg' | 'xl'; /** * Custom dimensions */ width?: string | number; height?: string | number; /** * Number of lines for text skeleton */ lines?: number; /** * Platform-aware styling */ platformAware?: boolean; /** * Accessibility enhancements */ includeAriaLabel?: boolean; /** * Custom CSS classes */ className?: string; /** * Child elements (for container skeletons) */ children?: React.ReactNode; } export declare function DynamicSkeleton({ animation, variant, size, width, height, lines, platformAware, includeAriaLabel, className, children }: DynamicSkeletonProps): React.JSX.Element; /** * Pre-configured skeleton for common UI patterns */ export declare const SkeletonPresets: { /** * Card skeleton with header, content, and actions */ Card: ({ showActions, showImage }: { showActions?: boolean; showImage?: boolean; }) => React.JSX.Element; /** * User profile skeleton */ Profile: () => React.JSX.Element; /** * Navigation skeleton */ Navigation: ({ items }: { items?: number; }) => React.JSX.Element; /** * Table skeleton */ Table: ({ rows, columns }: { rows?: number; columns?: number; }) => React.JSX.Element; /** * Vendor grid skeleton (specific to the app) */ VendorGrid: ({ items }: { items?: number; }) => React.JSX.Element; /** * Blog post skeleton */ BlogPost: () => React.JSX.Element; }; /** * Platform-aware loading container that shows different skeletons based on platform */ export declare function PlatformSkeletonContainer({ children, isLoading, skeletonType, skeletonProps }: { children: React.ReactNode; isLoading: boolean; skeletonType?: keyof typeof SkeletonPresets; skeletonProps?: any; }): React.JSX.Element; /** * Enhanced skeleton with progressive enhancement */ export declare function ProgressiveSkeleton({ stages, currentStage, children, ...props }: DynamicSkeletonProps & { stages?: string[]; currentStage?: number; }): React.JSX.Element; export {}; //# sourceMappingURL=dynamic-skeleton.d.ts.map