import * as Kafka from "./kafka"; export class BaseConsumer { constructor(options: BaseConsumerOptions); init(): Promise; subscribe(topic: string, partitions: number | number[], options: BaseConsumerOptions, handler: DataHandler): Promise; subscribe(topic: string, options: BaseConsumerOptions, handler: DataHandler): Promise; subscribe(topic: string, handler: DataHandler): Promise; unsubscribe(topic: string, partitions?: number | number[]): Promise; offset(topic: string, partition?: number): Promise; end(): Promise; } export interface BaseConsumerOptions { offset?: number; maxBytes?: number; time?: Kafka.OFFSET } export interface DataHandler { (messageSet: Kafka.Message[], topic: string, partition?: number): Promise; }