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