import { KafkaJS } from '@confluentinc/kafka-javascript';
import { Logger } from '@transai/logger';
import { BaseConnectorConfig } from '@xip-online-data/types';
import { MessageMonitorInterface } from './message-monitor.interface';
export declare abstract class AbstractRdKafkaService {
    protected readonly baseYamlConfig: BaseConnectorConfig;
    protected readonly connectorTopic?: string | undefined;
    protected readonly errorTypes: string[];
    protected readonly signalTraps: string[];
    static readonly DEFAULT_CALLBACK_EVENT_TYPE = "*";
    protected readonly kafkaBase: KafkaJS.Kafka;
    protected readonly consumer: KafkaJS.Consumer;
    protected readonly producer: KafkaJS.Producer;
    protected readonly processedTopic: string;
    protected readonly DEFAULT_INTERVAL_CHECK_FOR_NEW_TOPICS = 300;
    protected numberOfSubscribedRegexTopics: number;
    protected readonly disableLogs: boolean;
    protected messageMonitor: MessageMonitorInterface | undefined;
    abstract init(): Promise<void>;
    protected readonly logger: Logger;
    constructor(baseYamlConfig: BaseConnectorConfig, connectorTopic?: string | undefined);
    exitProcess: (type: string) => Promise<void>;
    private getCorrespondingMonitor;
    private checkForNewTopics;
    protected getRegularTopics: () => Array<string>;
    protected getRegexTopics: () => Promise<Array<string>>;
    private restartIfNewTopics;
}
