#!/usr/bin/env node
export interface MCPDeviceOptions {
    persistSession?: boolean;
}
export declare class MCPDevice {
    private baseServerUrl;
    private remoteChannel;
    private deviceId?;
    private isShuttingDown;
    private configPath;
    private persistSession;
    private desktop;
    /** Call ids already handled by THIS process (insertion-ordered, bounded). */
    private seenCallIds;
    constructor(options?: MCPDeviceOptions);
    private setupShutdownHandlers;
    start(): Promise<void>;
    loadPersistedConfig(): Promise<any>;
    savePersistedConfig(): Promise<void>;
    fetchSupabaseConfig(): Promise<{
        supabaseUrl: any;
        anonKey: any;
    }>;
    /** Record a handled call id, evicting the oldest once the cap is reached. */
    private rememberCallId;
    handleNewToolCall(payload: any): Promise<void>;
    shutdown(): Promise<void>;
}
