import { type CallbackWithPromise } from '../../apis/callbacks.ts'; import { type FetchResponse } from '../../apis/consumer/fetch-v17.ts'; import { type ConnectionPool } from '../../network/connection-pool.ts'; import { Base, type BaseEvents, kCreateConnectionPool } from '../base/base.ts'; import { MessagesStream } from './messages-stream.ts'; import { TopicsMap } from './topics-map.ts'; import { type CommitOptions, type ConsumeOptions, type ConsumerGroupJoinPayload, type ConsumerGroupLeavePayload, type ConsumerGroupRebalancePayload, type ConsumerHeartbeatErrorPayload, type ConsumerHeartbeatPayload, type ConsumerOptions, type FetchOptions, type GetLagOptions, type GroupAssignment, type GroupOptions, type ListCommitsOptions, type ListOffsetsOptions, type Offsets, type OffsetsWithTimestamps } from './types.ts'; export interface ConsumerEvents extends BaseEvents { 'consumer:group:join': (payload: ConsumerGroupJoinPayload) => void; 'consumer:group:leave': (payload: ConsumerGroupLeavePayload) => void; 'consumer:group:rejoin': () => void; 'consumer:group:rebalance': (payload: ConsumerGroupRebalancePayload) => void; 'consumer:heartbeat:start': (payload?: ConsumerHeartbeatPayload) => void; 'consumer:heartbeat:cancel': (payload: ConsumerHeartbeatPayload) => void; 'consumer:heartbeat:end': (payload?: ConsumerHeartbeatPayload) => void; 'consumer:heartbeat:error': (payload: ConsumerHeartbeatErrorPayload) => void; 'consumer:lag': (lag: Offsets) => void; 'consumer:lag:error': (error: Error) => void; } export declare class Consumer extends Base, ConsumerEvents> { #private; groupId: string; groupInstanceId: string | null; generationId: number; memberId: string | null; topics: TopicsMap; assignments: GroupAssignment[] | null; constructor(options: ConsumerOptions); get streamsCount(): number; get lastHeartbeat(): Date | null; get coordinatorId(): number | null; get streamContext(): unknown; close(force: boolean | CallbackWithPromise, callback?: CallbackWithPromise): void; close(force?: boolean): Promise; isActive(): boolean; consume(options: ConsumeOptions, callback: CallbackWithPromise>): void; consume(options: ConsumeOptions): Promise>; fetch(options: FetchOptions, callback: CallbackWithPromise): void; fetch(options: FetchOptions): Promise; commit(options: CommitOptions, callback: CallbackWithPromise): void; commit(options: CommitOptions): Promise; listOffsets(options: ListOffsetsOptions, callback: CallbackWithPromise): void; listOffsets(options: ListOffsetsOptions): Promise; listOffsetsWithTimestamps(options: ListOffsetsOptions, callback: CallbackWithPromise): void; listOffsetsWithTimestamps(options: ListOffsetsOptions): Promise; listCommittedOffsets(options: ListCommitsOptions, callback: CallbackWithPromise): void; listCommittedOffsets(options: ListCommitsOptions): Promise; getLag(options: GetLagOptions, callback: CallbackWithPromise): void; getLag(options: GetLagOptions): Promise; startLagMonitoring(options: GetLagOptions, interval: number): void; stopLagMonitoring(): void; findGroupCoordinator(callback: CallbackWithPromise): void; findGroupCoordinator(): Promise; [kCreateConnectionPool](context?: unknown): ConnectionPool; joinGroup(options: GroupOptions, callback: CallbackWithPromise): void; joinGroup(options?: GroupOptions): Promise; leaveGroup(force?: boolean | CallbackWithPromise, callback?: CallbackWithPromise): void; leaveGroup(force?: boolean): Promise; }