import { EnvoyClient, ClientConstructor, EnvoyClientConstructor, ChannelFactoryOverride } from "./types";
/**
 * this method will decorate the client constructor to
 * 1. enable envoy context
 * 2. using async syntax for each call RPC
 *
 * Check `EnvoyClient` for more information
 *
 * TODO: optimize the typing if the typing of gRPC is updated
 * @param constructor Client constructor
 */
export default function envoyProtoDecorator<T extends EnvoyClient>(constructor: ClientConstructor, channelFactoryOverride?: ChannelFactoryOverride | undefined): EnvoyClientConstructor<T>;
