import { SDKClient, grpcChannel } from '@browserstack/wdio-browserstack-service'; import type { TestFrameworkEventRequest, TestSessionEventRequest, LogCreatedEventRequest, DriverInitRequest, FetchDriverExecuteParamsEventRequest, ConnectBinSessionResponse, StartBinSessionResponse, TestFrameworkEventResponse, TestSessionEventResponse, LogCreatedEventResponse, DriverInitResponse, FetchDriverExecuteParamsEventResponse } from '@browserstack/wdio-browserstack-service'; import { BStackLogger } from './cliLogger.js'; /** * GrpcClient - Singleton class for managing gRPC client connections * * This class uses the singleton pattern to ensure only one gRPC client instance exists * throughout the application lifecycle. */ export declare class GrpcClient { #private; binSessionId: string | undefined; listenAddress: string | undefined; channel: grpcChannel | null; client: SDKClient | null; logger: typeof BStackLogger; constructor(); /** * Get the singleton instance of GrpcClient * @returns {GrpcClient} The singleton instance */ static getInstance(): GrpcClient; /** * Initialize the gRPC client connection * @param {string} host The gRPC server host * @param {number} port The gRPC server port */ init(params: Record): void; /** * Connect to the gRPC server * @returns {void} */ connect(): void; startBinSession(wdioConfig: string): Promise; /** * Connect to the bin session * @returns {Promise} The response from the gRPC call */ connectBinSession(): Promise; /** * Stop the bin session * @returns {Promise} * @private */ stopBinSession(): Promise; testSessionEvent(data: Omit): Promise; /** * * Send TestFrameworkEvent */ testFrameworkEvent(data: Omit): Promise; /** * * Send driverInitEvent */ driverInitEvent(data: Omit): Promise; logCreatedEvent(data: Omit): Promise; fetchDriverExecuteParamsEvent(data: Omit): Promise; /** * Get the gRPC channel * @returns {grpc.Channel} The gRPC channel */ getClient(): SDKClient | null; /** * Get the gRPC channel * @returns {grpc.Channel} The gRPC channel */ getChannel(): grpcChannel | null; } //# sourceMappingURL=grpcClient.d.ts.map