import { QueryClient } from "@tanstack/react-query";
import { PlatformOS } from "./platformUtils";
interface useSyncQueriesExternalProps {
    queryClient: QueryClient;
    deviceName: string;
    /**
     * A unique identifier for this device that persists across app restarts.
     * This is crucial for proper device tracking, especially if you have multiple devices of the same type.
     * If you only have one iOS and one Android device, you can use 'ios' and 'android'.
     * For multiple devices of the same type, ensure this ID is unique and persistent.
     */
    deviceId: string;
    extraDeviceInfo?: Record<string, string>;
    socketURL: string;
    platform: PlatformOS;
    /**
     * Enable/disable logging for debugging purposes
     * @default false
     */
    enableLogs?: boolean;
}
/**
 * Hook used by mobile devices to sync query state with the external dashboard
 *
 * Handles:
 * - Connection to the socket server
 * - Responding to dashboard requests
 * - Processing query actions from the dashboard
 * - Sending query state updates to the dashboard
 */
export declare function useSyncQueriesExternal({ queryClient, deviceName, socketURL, extraDeviceInfo, platform, deviceId, enableLogs, }: useSyncQueriesExternalProps): {
    connect: () => void;
    disconnect: () => void;
    isConnected: boolean;
    socket: import("socket.io-client").Socket<import("@socket.io/component-emitter").DefaultEventsMap, import("@socket.io/component-emitter").DefaultEventsMap>;
};
export {};
