/**
 * Computer OS Module
 *
 * Operating system interactions including clipboard, selected text,
 * and system information.
 * Inspired by Open Interpreter's computer.os capabilities.
 */
export interface ClipboardContent {
    text?: string;
    html?: string;
    image?: Buffer;
    files?: string[];
}
export interface SystemInfo {
    platform: NodeJS.Platform;
    arch: string;
    hostname: string;
    username: string;
    homeDir: string;
    tempDir: string;
    cpus: number;
    totalMemory: number;
    freeMemory: number;
    uptime: number;
    shell: string;
    env: Record<string, string>;
}
export interface ProcessInfo {
    pid: number;
    name: string;
    cpu: number;
    memory: number;
    user?: string;
    command?: string;
}
export interface DisplayInfo {
    id: number;
    name: string;
    width: number;
    height: number;
    x: number;
    y: number;
    primary: boolean;
    scaleFactor: number;
}
export declare class ComputerOS {
    private platform;
    constructor();
    /**
     * Get currently selected text from the OS
     * Works on macOS, Linux (X11/Wayland), and Windows
     */
    getSelectedText(): Promise<string>;
    private getSelectedTextMacOS;
    private getSelectedTextLinux;
    private getSelectedTextWindows;
    /**
     * Get clipboard text content
     */
    getClipboardText(): Promise<string>;
    /**
     * Set clipboard text content
     */
    setClipboardText(text: string): Promise<void>;
    /**
     * Get full clipboard content (text, html, images, files)
     */
    getClipboard(): Promise<ClipboardContent>;
    /**
     * Get system information
     */
    getSystemInfo(): SystemInfo;
    /**
     * Get current username
     */
    getUsername(): string;
    /**
     * Get home directory
     */
    getHomeDir(): string;
    /**
     * Get current working directory
     */
    getCwd(): string;
    /**
     * Get environment variable
     */
    getEnv(name: string): string | undefined;
    /**
     * Set environment variable (for child processes)
     */
    setEnv(name: string, value: string): void;
    /**
     * List running processes
     */
    listProcesses(): Promise<ProcessInfo[]>;
    private listProcessesUnix;
    private listProcessesWindows;
    /**
     * Kill a process by PID
     */
    killProcess(pid: number, signal?: NodeJS.Signals): Promise<void>;
    /**
     * Find process by name
     */
    findProcess(name: string): Promise<ProcessInfo[]>;
    /**
     * Get display/screen information
     */
    getDisplays(): Promise<DisplayInfo[]>;
    private getDisplaysMacOS;
    private getDisplaysLinux;
    private getDisplaysWindows;
    /**
     * Open a file or URL with the default application
     */
    open(target: string): Promise<void>;
    /**
     * Launch an application by name
     */
    launchApp(appName: string, args?: string[]): Promise<void>;
    /**
     * Execute a shell command
     */
    exec(command: string, options?: {
        timeout?: number;
        cwd?: string;
    }): Promise<{
        stdout: string;
        stderr: string;
    }>;
    /**
     * Execute a shell command synchronously
     */
    execSync(command: string, options?: {
        cwd?: string;
    }): string;
    /**
     * Get default shell
     */
    getShell(): string;
    /**
     * Show a system notification
     */
    notify(title: string, message: string): Promise<void>;
}
export declare function getComputerOS(): ComputerOS;
export declare function resetComputerOS(): void;
export default ComputerOS;
