import { WakeLockOptions, WakeLockType, WakeLockSentinel, RequestOptions, WakeLockStatus, WakeLockEvents } from './types';
import { EventEmitter } from './utils/EventEmitter';
export declare class WakeLock extends EventEmitter<WakeLockEvents> {
    private readonly options;
    private readonly permissionManager;
    private readonly performanceMonitor;
    private readonly strategies;
    private activeSentinel;
    private currentStrategy;
    private isReleasing;
    private readonly maxRetries;
    constructor(options?: WakeLockOptions);
    request(type?: WakeLockType, options?: RequestOptions): Promise<WakeLockSentinel>;
    release(): Promise<void>;
    isSupported(): boolean;
    getStatus(): WakeLockStatus;
    getSupportedStrategies(): string[];
    checkPermissions(type?: WakeLockType): Promise<PermissionState | null>;
    destroy(): void;
    private getDefaultStrategies;
    private tryStrategies;
    private setupSentinelListeners;
    private initializeEventListeners;
    private initializeVisibilityHandling;
    private handleLowBattery;
    private handlePerformanceOptimization;
}
//# sourceMappingURL=WakeLock.d.ts.map