import type { NatsClient, NatsClientOptions, NatsStatus } from '../../nats';
export interface UseNatsClientOptions {
    /**
     * When true, connect on mount and close on unmount.
     */
    autoConnect?: boolean;
}
export interface UseNatsClientResult {
    client: NatsClient | null;
    status: NatsStatus;
    isConnected: boolean;
    lastError: unknown;
}
/**
 * React hook for managing a shared NATS WebSocket connection lifecycle.
 *
 * Important: pass a memoized `clientOptions` (e.g. via `useMemo`) to avoid
 * reconnecting on every render.
 */
export declare function useNatsClient(clientOptions: NatsClientOptions | null, options?: UseNatsClientOptions): UseNatsClientResult;
//# sourceMappingURL=use-nats-client.d.ts.map