/**
 * System Control Module
 *
 * OpenClaw-inspired system-level controls for desktop automation.
 * Cross-platform support for Linux, macOS, and Windows.
 *
 * Features:
 * - Volume control (get/set/mute)
 * - Brightness control
 * - System notifications
 * - Power management (sleep, lock, shutdown)
 * - Display management
 * - Network status
 */
import { EventEmitter } from 'events';
export interface VolumeInfo {
    level: number;
    muted: boolean;
    device?: string;
}
export interface BrightnessInfo {
    level: number;
    display?: string;
}
export interface NotificationOptions {
    title: string;
    body: string;
    icon?: string;
    sound?: boolean;
    timeout?: number;
    urgency?: 'low' | 'normal' | 'critical';
    actions?: Array<{
        id: string;
        label: string;
    }>;
}
export interface NotificationResult {
    id: string;
    sent: boolean;
    error?: string;
}
export interface PowerAction {
    type: 'sleep' | 'lock' | 'shutdown' | 'restart' | 'hibernate' | 'logout';
    delay?: number;
    force?: boolean;
}
export interface DisplayInfo {
    id: string;
    name: string;
    resolution: {
        width: number;
        height: number;
    };
    refreshRate: number;
    primary: boolean;
    connected: boolean;
    brightness?: number;
}
export interface NetworkInfo {
    connected: boolean;
    type?: 'wifi' | 'ethernet' | 'cellular' | 'unknown';
    ssid?: string;
    ip?: string;
    gateway?: string;
}
export interface BatteryInfo {
    present: boolean;
    charging: boolean;
    level: number;
    timeRemaining?: number;
}
export interface SystemInfo {
    hostname: string;
    platform: string;
    arch: string;
    uptime: number;
    memory: {
        total: number;
        free: number;
        used: number;
    };
    cpu: {
        model: string;
        cores: number;
        usage?: number;
    };
}
export declare class SystemControl extends EventEmitter {
    private platform;
    constructor();
    /**
     * Get current volume level
     */
    getVolume(): Promise<VolumeInfo>;
    /**
     * Set volume level (0-100)
     */
    setVolume(level: number): Promise<void>;
    /**
     * Mute/unmute audio
     */
    setMute(muted: boolean): Promise<void>;
    /**
     * Toggle mute state
     */
    toggleMute(): Promise<boolean>;
    /**
     * Get current brightness level
     */
    getBrightness(): Promise<BrightnessInfo>;
    /**
     * Set brightness level (0-100)
     */
    setBrightness(level: number): Promise<void>;
    /**
     * Send system notification
     */
    notify(options: NotificationOptions): Promise<NotificationResult>;
    /**
     * Execute power action
     */
    power(action: PowerAction): Promise<void>;
    /**
     * Lock the screen
     */
    lock(): Promise<void>;
    /**
     * Put system to sleep
     */
    sleep(): Promise<void>;
    /**
     * Get display information
     */
    getDisplays(): Promise<DisplayInfo[]>;
    /**
     * Get network status
     */
    getNetworkStatus(): Promise<NetworkInfo>;
    /**
     * Get battery information
     */
    getBattery(): Promise<BatteryInfo>;
    /**
     * Get system information
     */
    getSystemInfo(): Promise<SystemInfo>;
    private getMacOSVolume;
    private setMacOSVolume;
    private setMacOSMute;
    private getMacOSBrightness;
    private setMacOSBrightness;
    private notifyMacOS;
    private powerMacOS;
    private getMacOSDisplays;
    private getMacOSNetwork;
    private getMacOSBattery;
    private getLinuxVolume;
    private setLinuxVolume;
    private setLinuxMute;
    private getLinuxBrightness;
    private setLinuxBrightness;
    private notifyLinux;
    private powerLinux;
    private getLinuxDisplays;
    private getLinuxNetwork;
    private getLinuxBattery;
    private getWindowsVolume;
    private setWindowsVolume;
    private setWindowsMute;
    private getWindowsBrightness;
    private setWindowsBrightness;
    private notifyWindows;
    private powerWindows;
    private getWindowsDisplays;
    private getWindowsNetwork;
    private getWindowsBattery;
}
export declare function getSystemControl(): SystemControl;
export declare function resetSystemControl(): void;
export default SystemControl;
