import { DeviceInfo } from "./device-detector";
export interface DeviceMonitorConfig {
    debounceMs: number;
    throttleMs: number;
    enableOrientationDetection: boolean;
    enableKeyboardDetection: boolean;
    enableMultiScreenDetection: boolean;
    enablePerformanceMonitoring: boolean;
}
export interface ExtendedDeviceInfo extends DeviceInfo {
    isResizing: boolean;
    isOrientationChanging: boolean;
    isKeyboardVisible: boolean;
    keyboardHeight: number;
    resizeCount: number;
    lastResizeTime: number;
    averageResizeDelay: number;
    screenCount: number;
    currentScreen: number;
    connectionType: string;
    hardwareConcurrency: number;
    deviceMemory: number;
    batteryLevel?: number;
    isCharging?: boolean;
    supportsPWA: boolean;
    supportsWebGL: boolean;
    supportsWebAssembly: boolean;
}
export declare const useRealTimeDeviceMonitor: (config?: Partial<DeviceMonitorConfig>) => ExtendedDeviceInfo;
export declare const useDeviceChangeDetection: (onDeviceChange?: (oldInfo: ExtendedDeviceInfo, newInfo: ExtendedDeviceInfo) => void) => ExtendedDeviceInfo;
export declare const useDevicePerformanceMonitor: () => {
    deviceInfo: ExtendedDeviceInfo;
    performanceMetrics: {
        averageResizeDelay: number;
        resizeFrequency: number;
        isHighPerformanceDevice: boolean;
        isLowEndDevice: boolean;
        networkQuality: string;
        supportsAdvancedFeatures: boolean;
    };
};
export default useRealTimeDeviceMonitor;
//# sourceMappingURL=real-time-device-monitor.d.ts.map