interface TunnelStatusResponse {
    status: 'idle' | 'starting' | 'connected' | 'error';
    url: string | null;
    error: string | null;
    binaryInstalled: boolean;
    isRunning: boolean;
}
interface TunnelStartResponse {
    ok: boolean;
    url?: string;
    message?: string;
    error?: string;
}
interface TunnelQrResponse {
    ok: boolean;
    url?: string;
    qrCode?: string;
    error?: string;
}
export declare function useTunnelStatus(): import("@tanstack/react-query").UseQueryResult<NoInfer<TunnelStatusResponse>, Error>;
export declare function useStartTunnel(): import("@tanstack/react-query").UseMutationResult<TunnelStartResponse, Error, void, unknown>;
export declare function useStopTunnel(): import("@tanstack/react-query").UseMutationResult<{
    ok: boolean;
    message?: string;
    error?: string;
}, Error, void, unknown>;
export declare function useTunnelQr(): import("@tanstack/react-query").UseQueryResult<NoInfer<TunnelQrResponse>, Error>;
export declare function useTunnelStream(): {
    connect: () => () => void;
};
export {};
//# sourceMappingURL=useTunnel.d.ts.map