import Zamza from "./Zamza";
import { KafkaMessage } from "sinek";
import { TopicConfig } from "./interfaces/TopicConfig";
declare const INTERNAL_TOPICS: {
    RETRY_TOPIC: string;
    REPLAY_TOPIC: string;
};
export { INTERNAL_TOPICS };
export default class MessageHandler {
    private readonly mongoPoller;
    private readonly hookDealer;
    private readonly keyIndexModel;
    private readonly metrics;
    private readonly mongoWrapper;
    private readonly hooksEnabled;
    readonly hooksOnly: boolean;
    private readonly shouldMarshall;
    private readonly topicMarshalling;
    constructor(zamza: Zamza);
    private hash;
    private marshallJSONPayloadToEnsureSafeMongoKeysRecursive;
    findConfigForTopic(topic: string): TopicConfig | null;
    static cleanTopicNameForMetrics(topic: string): string;
    getMarshallStates(): any;
    resetMarshallStateForTopic(topic: string): void;
    handleMessage(message: KafkaMessage, fromStream?: boolean): Promise<boolean>;
}
//# sourceMappingURL=MessageHandler.d.ts.map