import { type StdISocketRPCClient } from "./client.js";
import type { Logger } from "../util/logger.js";
import type { Tracer } from "@opentelemetry/api";
import type { ITokenManager } from "@superblocksteam/util";
export declare class AutoConnectingRpcClient {
    private readonly superblocksBaseUrl;
    private authToken;
    private readonly _tracer;
    private readonly tokenManager;
    private readonly _logger;
    private _rpcClient;
    private _isShuttingDown;
    private _activeOperations;
    private _socketCloseCode?;
    constructor(superblocksBaseUrl: string, authToken: string, _tracer: Tracer, tokenManager: ITokenManager, _logger: Logger);
    private getLogger;
    get socketCloseCode(): number | undefined;
    getRpcClient(): Promise<StdISocketRPCClient>;
    /**
     * Executes an RPC operations with lifecycle management.
     */
    call<T>(operation: (client: StdISocketRPCClient) => Promise<T>): Promise<T>;
    close(): Promise<void>;
}
//# sourceMappingURL=index.d.ts.map