import { type RefCallback } from 'react';
export type TScalingMode = 'none' | 'local' | 'remote';
type TUseVNCClientOptions = {
    cluster?: string;
    namespace?: string;
    vmName?: string;
    /**
     * Override websocket path or full ws(s) URL.
     * - If starts with ws:// or wss:// it's used as-is.
     * - Otherwise it's treated as a path under current host.
     */
    forcedFullWsPath?: string;
};
type TUseVNCClientResult = {
    screenRef: RefCallback<HTMLDivElement>;
    isLoading: boolean;
    error: string | null;
    status: string;
    isConnected: boolean;
    showDotCursor: boolean;
    scalingMode: TScalingMode;
    setShowDotCursor: (value: boolean) => void;
    setScalingMode: (mode: TScalingMode) => void;
    disconnect: () => void;
    reconnect: () => void;
    sendCtrlAltDel: () => void;
};
export declare const useVNCClient: ({ cluster, namespace, vmName, forcedFullWsPath, }: TUseVNCClientOptions) => TUseVNCClientResult;
export {};
