import { default as React, Component, ErrorInfo, ReactNode } from 'react'; interface Props { children: ReactNode; fallbackComponent: React.ComponentType; componentName: string; v2Props: any; onError?: (error: Error, errorInfo: ErrorInfo) => void; } interface State { hasError: boolean; error?: Error; fallbackActive: boolean; } /** * Error Boundary que implementa fallback automático V2 → V1 */ export declare class ArchbaseSafeMigrationWrapper extends Component { constructor(props: Props); static getDerivedStateFromError(error: Error): State; componentDidCatch(error: Error, errorInfo: ErrorInfo): void; render(): string | number | bigint | boolean | Iterable | Promise> | Iterable> | import("react/jsx-runtime").JSX.Element; } /** * Hook para criar wrapper de migração segura */ export declare function useArchbaseSafeMigration(componentName: string, V1Component: React.ComponentType, V2Component: React.ComponentType): { (props: TProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * HOC para aplicar migração segura */ export declare function withSafeMigration(componentName: string, V1Component: React.ComponentType, V2Component: React.ComponentType): { (props: TProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * Utilitário para detectar versão do DataSource */ export declare function detectDataSourceVersion(dataSource: any): 'V1' | 'V2' | 'NONE'; /** * Métricas para monitoramento de migração */ export declare const MigrationMetrics: { trackV2Usage: (componentName: string, dataSourceVersion: string) => void; trackFallback: (componentName: string, reason: string) => void; trackError: (componentName: string, error: Error) => void; }; export default ArchbaseSafeMigrationWrapper;