/**
 * Device Node System
 *
 * Manages paired device nodes (macOS, iOS, Android) with capabilities
 * like camera, screen recording, location, notifications, and system commands.
 */
export type DeviceType = 'macos' | 'ios' | 'android';
export type DeviceCapability = 'camera' | 'screen_record' | 'location' | 'notifications' | 'system_run';
export interface DeviceNode {
    id: string;
    name: string;
    type: DeviceType;
    capabilities: DeviceCapability[];
    paired: boolean;
    lastSeen: number;
    address?: string;
}
export interface LocationCoords {
    lat: number;
    lon: number;
}
export declare class DeviceNodeManager {
    private static instance;
    private devices;
    static getInstance(): DeviceNodeManager;
    static resetInstance(): void;
    pairDevice(id: string, name: string, type: DeviceType, capabilities: DeviceCapability[]): DeviceNode;
    unpairDevice(id: string): boolean;
    getDevice(id: string): DeviceNode | undefined;
    listDevices(): DeviceNode[];
    listPairedDevices(): DeviceNode[];
    isDevicePaired(id: string): boolean;
    cameraSnap(deviceId: string): string | null;
    screenRecord(deviceId: string, duration?: number): string | null;
    getLocation(deviceId: string): LocationCoords | null;
    sendNotification(deviceId: string, title: string, body: string): boolean;
    systemRun(deviceId: string, command: string): string | null;
    generatePairingCode(): string;
    updateLastSeen(deviceId: string): boolean;
}
