/**
 * Theme Import Resolver
 *
 * Resolves imports to prioritize theme overrides over core components
 * Provides seamless component replacement with hot reload support
 */
import React from 'react';
import type { ThemeConfig } from '../../types/theme';
/**
 * Theme context for accessing current theme
 */
interface ImportResolverContextType {
    currentTheme: ThemeConfig | null;
    resolveComponent: <T>(path: string, fallback: T) => Promise<T | React.ComponentType<unknown>>;
    clearComponentCache: () => void;
}
/**
 * Provider that manages component resolution
 */
export declare function ImportResolverProvider({ children, theme }: {
    children: React.ReactNode;
    theme: ThemeConfig | null;
}): import("react/jsx-runtime").JSX.Element;
/**
 * Hook to use the import resolver
 */
export declare function useImportResolver(): ImportResolverContextType;
/**
 * HOC to automatically resolve component overrides
 */
export declare function withThemeOverride<T extends React.ComponentType<unknown>>(componentPath: string, OriginalComponent: T): T;
/**
 * Utility to create a themed component that automatically resolves overrides
 */
export declare function createThemedComponent<T extends React.ComponentType<unknown>>(componentPath: string, OriginalComponent: T, options?: {
    displayName?: string;
    fallback?: React.ComponentType<unknown>;
}): T;
/**
 * Utility to get custom theme components
 */
export declare function getCustomComponent(theme: ThemeConfig, componentName: string): Promise<React.ComponentType<unknown> | null>;
/**
 * Development helper to refresh component cache (for hot reload)
 */
export declare function refreshThemeComponents(): void;
/**
 * Get component cache statistics
 */
export declare function getImportResolverStats(): {
    cachedComponents: number;
    cacheKeys: string[];
};
export {};
//# sourceMappingURL=import-resolver.d.ts.map