import { KafkaConsumerConfig } from "sinek";
import MongoWrapper from "./db/MongoWrapper";
import MongoPoller from "./db/MongoPoller";
import Discovery from "./kafka/Discovery";
import MessageHandler from "./MessageHandler";
import Consumer from "./kafka/Consumer";
import Producer from "./kafka/Producer";
import { Metrics } from "./Metrics";
import MetadataFetcher from "./db/MetadataFetcher";
import ReplayConsumer from "./kafka/ReplayConsumer";
import RetryConsumer from "./kafka/RetryConsumer";
import ReplayProducer from "./kafka/ReplayProducer";
import RetryProducer from "./kafka/RetryProducer";
import { ZamzaConfig, KafkaConfig } from "./interfaces";
import HookDealer from "./HookDealer";
import { ReplayHandler } from "./ReplayHandler";
export default class Zamza {
    private readonly httpServer;
    readonly config: ZamzaConfig;
    readonly consumer: Consumer;
    readonly replayConsumer: ReplayConsumer;
    readonly retryConsumer: RetryConsumer;
    readonly replayProducer: ReplayProducer;
    readonly retryProducer: RetryProducer;
    readonly producer: Producer;
    readonly messageHandler: MessageHandler;
    readonly mongoWrapper: MongoWrapper;
    readonly mongoPoller: MongoPoller;
    readonly discovery: Discovery;
    readonly metrics: Metrics;
    readonly metadataFetcher: MetadataFetcher;
    readonly hookDealer: HookDealer;
    readonly replayHandler: ReplayHandler;
    private alive;
    private ready;
    constructor(config: ZamzaConfig);
    private cloneKafkaProducerConfig;
    private shutdownOnErrorIfNotProduction;
    private shutdownGracefully;
    private init;
    run(): Promise<void>;
    close(): Promise<void>;
    cloneKafkaConsumerConfig(groupId: string, config: KafkaConfig): KafkaConsumerConfig;
    static isProduction(): boolean;
    setAliveState(state: boolean): void;
    isAlive(): boolean;
    setReadyState(state: boolean): void;
    isReady(): boolean;
}
//# sourceMappingURL=Zamza.d.ts.map