import { Logger } from '@nestjs/common/services/logger.service';
import { Consumer, EachMessagePayload, Kafka, Message, Producer } from '../external/kafka.interface';
import { CustomTransportStrategy, KafkaOptions, OutgoingResponse } from '../interfaces';
import { Server } from './server';
export declare class ServerKafka extends Server implements CustomTransportStrategy {
private readonly options;
protected readonly logger: Logger;
protected client: Kafka;
protected consumer: Consumer;
protected producer: Producer;
private readonly brokers;
private readonly clientId;
private readonly groupId;
constructor(options: KafkaOptions['options']);
getTransport(): number;
listen(callback: () => void): Promise<void>;
close(): void;
start(callback: () => void): Promise<void>;
createClient<T = any>(): T;
bindEvents(consumer: Consumer): Promise<void>;
getMessageHandler(): Function;
getPublisher(replyTopic: string, replyPartition: string, correlationId: string): (data: any) => any;
handleMessage(payload: EachMessagePayload): Promise<any>;
sendMessage(message: OutgoingResponse, replyTopic: string, replyPartition: string, correlationId: string): void;
assignIsDisposedHeader(outgoingResponse: OutgoingResponse, outgoingMessage: Message): void;
assignErrorHeader(outgoingResponse: OutgoingResponse, outgoingMessage: Message): void;
assignCorrelationIdHeader(correlationId: string, outgoingMessage: Message): void;
assignReplyPartition(replyPartition: string, outgoingMessage: Message): void;
protected initializeSerializer(options: KafkaOptions['options']): void;
}