/**
 * Component Override Resolver
 *
 * Handles resolution of component overrides with caching for performance
 */
import type React from 'react';
import type { ThemeConfig } from '../../types/theme';
/**
 * Resolve component override for a specific path
 */
export declare function resolveComponentOverride(componentPath: string, theme: ThemeConfig): Promise<React.ComponentType<unknown> | null>;
/**
 * Resolve component with fallback to original
 */
export declare function resolveComponent<T>(componentPath: string, originalComponent: T, theme: ThemeConfig): Promise<T | React.ComponentType<unknown>>;
/**
 * Create a component wrapper that automatically resolves overrides
 */
export declare function createOverridableComponent<T = React.ComponentType<unknown>>(componentPath: string, originalComponent: T): T;
/**
 * Clear override cache (useful for development and testing)
 */
export declare function clearOverrideCache(componentPath?: string, themeName?: string): void;
/**
 * Get cache statistics (for monitoring)
 */
export declare function getOverrideCacheStats(): {
    size: number;
    entries: string[];
    hitRate?: number;
};
/**
 * Preload overrides for better performance
 */
export declare function preloadThemeOverrides(theme: ThemeConfig): Promise<void>;
//# sourceMappingURL=override-resolver.d.ts.map