import { Kafka } from 'kafkajs';
import { EventMessage, IEventHandler } from './event.handler';
export declare class KafkaClient {
    private readonly clientId?;
    private readonly brokers?;
    private readonly logger;
    kafka: Kafka;
    constructor(clientId?: string | undefined, brokers?: string | undefined);
    produce<T>(topic: string, key: string, event: T): Promise<void>;
    consume<T>(topic: string, groupId: string, handler: IEventHandler<T> | ((params: {
        key: string;
        event: T;
        payload?: EventMessage;
    }) => Promise<void>)): Promise<void>;
    isHealthy(): Promise<boolean>;
}
