import { BasePlugin } from '@opentelemetry/core'; import * as grpcTypes from 'grpc'; import { grpc, GrpcPluginOptions, ModuleExportsMapping } from './types'; /** The metadata key under which span context is stored as a binary value. */ export declare const GRPC_TRACE_KEY = "grpc-trace-bin"; export declare class GrpcPlugin extends BasePlugin { readonly moduleName: string; readonly version: string; static readonly component = "grpc"; readonly supportedVersions: string[]; protected _config: GrpcPluginOptions; constructor(moduleName: string, version: string); protected readonly _internalFilesList: ModuleExportsMapping; protected readonly _basedir: string; protected patch(): typeof grpcTypes; protected unpatch(): void; private _setSpanContext; private _patchServer; /** * Returns true if the server call should not be traced. */ private _shouldNotTraceServerCall; private _clientStreamAndUnaryHandler; private _serverStreamAndBidiHandler; private _patchClient; private _getMethodsToWrap; private _getPatchedClientMethods; /** * This method handles the client remote call */ private _makeGrpcClientRemoteCall; private _getMetadata; } export declare const plugin: GrpcPlugin;