import * as grpc from "@grpc/grpc-js"; import { Empty } from "google-protobuf/google/protobuf/empty_pb"; import { IAppCallbackServer } from "../../../proto/dapr/proto/runtime/v1/appcallback_grpc_pb"; import { InvokeRequest, InvokeResponse } from '../../../proto/dapr/proto/common/v1/common_pb'; import { BindingEventRequest, BindingEventResponse, ListInputBindingsResponse, ListTopicSubscriptionsResponse, TopicEventRequest, TopicEventResponse } from "../../../proto/dapr/proto/runtime/v1/appcallback_pb"; import { TypeDaprInvokerCallback } from "../../../types/DaprInvokerCallback.type"; import { TypeDaprBindingCallback } from "../../../types/DaprBindingCallback.type"; import { TypeDaprPubSubCallback } from "../../../types/DaprPubSubCallback.type"; import { LoggerOptions } from "../../../types/logger/LoggerOptions"; export default class GRPCServerImpl implements IAppCallbackServer { private readonly logger; handlersInvoke: { [key: string]: TypeDaprInvokerCallback; }; handlersBindings: { [key: string]: TypeDaprBindingCallback; }; handlersTopics: { [key: string]: TypeDaprPubSubCallback; }; constructor(loggerOptions?: LoggerOptions); createPubSubSubscriptionHandlerKey(pubSubName: string, topicName: string): string; createInputBindingHandlerKey(bindingName: string): string; createOnInvokeHandlerKey(httpMethod: string, methodName: string): string; registerOnInvokeHandler(httpMethod: string, methodName: string, cb: TypeDaprInvokerCallback): void; registerPubSubSubscriptionHandler(pubSubName: string, topicName: string, cb: TypeDaprInvokerCallback): void; registerInputBindingHandler(bindingName: string, cb: TypeDaprInvokerCallback): void; onInvoke(call: grpc.ServerUnaryCall, callback: grpc.sendUnaryData): Promise; onBindingEvent(call: grpc.ServerUnaryCall, callback: grpc.sendUnaryData): Promise; onTopicEvent(call: grpc.ServerUnaryCall, callback: grpc.sendUnaryData): Promise; listTopicSubscriptions(call: grpc.ServerUnaryCall, callback: grpc.sendUnaryData): Promise; listInputBindings(call: grpc.ServerUnaryCall, callback: grpc.sendUnaryData): Promise; }