import { Message } from 'kafkajs';
import { EmitKafkaEventPayload, IKafkaModuleSchemaRegistryConfiguration } from '../interfaces';
import { KafkaLogger } from '../loggers';
export declare class KafkaSerializer {
    private readonly kafkaLogger;
    private schemaRegistry;
    schemas: Map<string, {
        keyId: number | null;
        valueId: number;
    }>;
    constructor(kafkaLogger: KafkaLogger);
    initialize(configuration: IKafkaModuleSchemaRegistryConfiguration, topics: string[]): Promise<void>;
    private fetchAllSchemaIds;
    private fetchSchemaIds;
    serialize<V, K>(value: EmitKafkaEventPayload<V, K> & Omit<Message, 'key' | 'value'>): Promise<Message | undefined>;
}
