import { Cluster } from '../cluster';
import { Partitioner } from '../distributors/partitioner';
import { Message } from '../types';
export type ProducerOptions = {
    allowTopicAutoCreation?: boolean;
    partitioner?: Partitioner;
    maxBatchSize?: number;
};
export declare class Producer {
    private cluster;
    private options;
    private metadata;
    private state;
    private partition;
    private chain;
    private bufferByNodeId;
    constructor(cluster: Cluster, options: ProducerOptions);
    send(messages: Message[]): Promise<void>;
    close(): Promise<void>;
    private ensureProducerInitialized;
    private fetchMetadataForTopics;
    private handleError;
}
