import { Container, Registry, ServiceLocator, ComponentInstaller } from "@nivinjoseph/n-ject"; import { EventBus } from "./event-bus.js"; import { EventSubMgr } from "./event-sub-mgr.js"; import { ClassDefinition, Disposable } from "@nivinjoseph/n-util"; import { EventRegistration } from "./event-registration.js"; import { Topic } from "./topic.js"; import { EdaEvent } from "./eda-event.js"; import { EdaEventHandler } from "./eda-event-handler.js"; import { AwsLambdaEventHandler } from "./redis-implementation/aws-lambda-event-handler.js"; import { LambdaDetails } from "./lambda-details.js"; import { RpcDetails } from "./rpc-details.js"; import { RpcEventHandler } from "./redis-implementation/rpc-event-handler.js"; import { GrpcEventHandler } from "./redis-implementation/grpc-event-handler.js"; import { GrpcDetails } from "./grpc-details.js"; import { ObserverEdaEventHandler } from "./observer-eda-event-handler.js"; export declare class EdaManager implements Disposable { private readonly _container; private readonly _ownsContainer; private readonly _topics; private readonly _topicMap; private readonly _eventMap; private readonly _observerEventMap; private _partitionKeyMapper; private _eventBusRegistered; private _eventSubMgrRegistered; private _evtSubMgr; private _consumerName; private _consumerGroupId; private _cleanKeys; private _distributedObserverTopic; private _awsLambdaDetails; private _isAwsLambdaConsumer; private _awsLambdaEventHandler; private _rpcDetails; private _isRpcConsumer; private _rpcEventHandler; private _grpcDetails; private _isGrpcConsumer; private _grpcEventHandler; private _isDisposed; private _disposePromise; private _isBootstrapped; static get eventBusKey(): string; static get eventSubMgrKey(): string; get containerRegistry(): Registry; get serviceLocator(): ServiceLocator; get topics(): ReadonlyArray; get distributedObserverTopic(): Topic | null; get eventMap(): ReadonlyMap; get observerEventMap(): ReadonlyMap; get consumerName(): string; get consumerGroupId(): string | null; get cleanKeys(): boolean; get awsLambdaDetails(): LambdaDetails | null; get awsLambdaProxyEnabled(): boolean; get isAwsLambdaConsumer(): boolean; get rpcDetails(): RpcDetails | null; get rpcProxyEnabled(): boolean; get isRpcConsumer(): boolean; get grpcDetails(): GrpcDetails | null; get grpcProxyEnabled(): boolean; get isGrpcConsumer(): boolean; get partitionKeyMapper(): (event: EdaEvent) => string; constructor(container?: Container); useInstaller(installer: ComponentInstaller): this; useConsumerName(name: string): this; registerTopics(...topics: Array): this; usePartitionKeyMapper(func: (event: EdaEvent) => string): this; registerEventHandlers(...eventHandlerClasses: Array> | ClassDefinition>>): this; registerEventBus(eventBus: EventBus | ClassDefinition): this; registerEventSubscriptionManager(eventSubMgr: EventSubMgr | ClassDefinition, consumerGroupId: string): this; cleanUpKeys(): this; proxyToAwsLambda(lambdaDetails: LambdaDetails): this; actAsAwsLambdaConsumer(handler: AwsLambdaEventHandler): this; proxyToRpc(rpcDetails: RpcDetails): this; actAsRpcConsumer(handler: RpcEventHandler): this; proxyToGrpc(grpcDetails: GrpcDetails): this; actAsGrpcConsumer(handler: GrpcEventHandler): this; enableDistributedObserver(topic: Topic): this; bootstrap(): void; beginConsumption(): Promise; mapToPartition(topic: string, event: EdaEvent): number; dispose(): Promise; } //# sourceMappingURL=eda-manager.d.ts.map