import React from 'react';
import { ExtendedDeviceInfo } from './real-time-device-monitor';
export interface EdgeCaseConfig {
    enableOrientationLock: boolean;
    enableRapidResizeProtection: boolean;
    enableMultipleInstancePrevention: boolean;
    enableMemoryLeakPrevention: boolean;
    enableGracefulDegradation: boolean;
    debounceMs: number;
    maxResizeFrequency: number;
    memoryCheckInterval: number;
}
export declare enum EdgeCaseEvent {
    RAPID_RESIZE = "rapid_resize",
    ORIENTATION_CHANGE = "orientation_change",
    MEMORY_WARNING = "memory_warning",
    MULTIPLE_INSTANCE = "multiple_instance",
    DEVICE_TRANSITION = "device_transition",
    NETWORK_CHANGE = "network_change",
    VISIBILITY_CHANGE = "visibility_change"
}
export interface EdgeCaseEventData {
    type: EdgeCaseEvent;
    timestamp: number;
    data: any;
    severity: 'low' | 'medium' | 'high' | 'critical';
}
export declare const useEdgeCaseHandler: (config?: Partial<EdgeCaseConfig>, onEdgeCase?: (event: EdgeCaseEventData) => void) => {
    edgeCases: EdgeCaseEventData[];
    instanceId: string;
    isHealthy: boolean;
};
interface EdgeCaseMonitorProps {
    config?: Partial<EdgeCaseConfig>;
    onEdgeCase?: (event: EdgeCaseEventData) => void;
    children: React.ReactNode;
}
export declare const EdgeCaseMonitor: React.FC<EdgeCaseMonitorProps>;
export declare const useGracefulDegradation: (deviceInfo: ExtendedDeviceInfo) => {
    degradationLevel: "none" | "high" | "low" | "medium";
    shouldDisableFeature: (feature: string) => boolean;
    isLowPerformance: boolean;
};
export default EdgeCaseMonitor;
//# sourceMappingURL=edge-case-handler.d.ts.map