import { Disposable } from "@nivinjoseph/n-util"; import * as otelApi from "@opentelemetry/api"; import { EdaEvent } from "../eda-event.js"; import { EventRegistration } from "../event-registration.js"; import { Consumer } from "./consumer.js"; import { Processor } from "./processor.js"; import { Topic, TopicPartitionMetrics } from "../topic.js"; export declare class Broker implements Disposable { private readonly _topic; private readonly _consumers; private readonly _processors; private readonly _scheduler; private readonly _metricsTracker; private _isDisposed; get topic(): Topic; get metrics(): ReadonlyMap; constructor(topic: Topic, consumers: ReadonlyArray, processors: ReadonlyArray); initialize(): void; route(routedEvent: RoutedEvent): Promise; report(partition: number, writeIndex: number, readIndex: number): void; dispose(): Promise; } export interface RoutedEvent { consumerId: string; topic: string; partition: number; eventName: string; eventRegistration: EventRegistration; eventIndex: number; eventKey: string; eventId: string; rawEvent: object; event: EdaEvent; partitionKey: string; span: otelApi.Span; } //# sourceMappingURL=broker.d.ts.map