import { TopicGrpcConfiguration, TopicGrpcConfigurationProps } from './grpc-configuration'; export interface TopicTransportStrategy { /** * Configures the low-level gRPC settings for the Momento client's communication * with the Momento server. * @returns {TopicGrpcConfiguration} */ getGrpcConfig(): TopicGrpcConfiguration; /** * Copy constructor for overriding the gRPC configuration * @param {TopicGrpcConfiguration} grpcConfig * @returns {TopicTransportStrategy} a new TransportStrategy with the specified gRPC config. */ withGrpcConfig(grpcConfig: TopicGrpcConfiguration): TopicTransportStrategy; /** * Copy constructor to update the client-side timeout * @param {number} clientTimeoutMillis * @returns {TopicTransportStrategy} a new TopicTransportStrategy with the specified client timeout */ withClientTimeoutMillis(clientTimeoutMillis: number): TopicTransportStrategy; } export interface TopicTransportStrategyProps { /** * low-level gRPC settings for communication with the Momento server */ grpcConfiguration: TopicGrpcConfiguration; } export declare class StaticTopicGrpcConfiguration implements TopicGrpcConfiguration { private readonly numClients; private readonly numStreamClients; private readonly numUnaryClients; private readonly keepAlivePermitWithoutCalls?; private readonly keepAliveTimeoutMs?; private readonly keepAliveTimeMs?; private readonly deadlineMillis; constructor(props: TopicGrpcConfigurationProps); getNumClients(): number; getNumStreamClients(): number; getNumUnaryClients(): number; withNumClients(numClients: number): TopicGrpcConfiguration; withNumStreamClients(numStreamClients: number): TopicGrpcConfiguration; withNumUnaryClients(numUnaryClients: number): TopicGrpcConfiguration; getKeepAliveTimeoutMS(): number | undefined; getKeepAliveTimeMS(): number | undefined; getKeepAlivePermitWithoutCalls(): number | undefined; getDeadlineMillis(): number; withDeadlineMillis(deadlineMillis: number): StaticTopicGrpcConfiguration; } export declare class StaticTopicTransportStrategy implements TopicTransportStrategy { private readonly grpcConfiguration; constructor(props: TopicTransportStrategyProps); getGrpcConfig(): TopicGrpcConfiguration; withGrpcConfig(grpcConfiguration: TopicGrpcConfiguration): StaticTopicTransportStrategy; withClientTimeoutMillis(clientTimeoutMillis: number): StaticTopicTransportStrategy; }