import { Kafka } from 'kafkajs';
import * as z from 'zod';
import type { Api } from '../api';
export declare const KafkaConfig: (api: Api) => {
    new (config: any): {
        data: Promise<{
            kafka: Kafka;
            clientId: string;
        }>;
        onInput(): void;
        onDestroy(): Promise<void>;
        api: Api;
        nodeConfig: unknown;
        messageZod: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
        getBaseUrls(): Promise<{
            kafka_url?: string | string[] | undefined;
            kafka_proxy_url?: string | undefined;
            indexer_url?: string | undefined;
            rpc_url?: string | undefined;
        }>;
        getNodeEnvConfig(): {
            BASE_URL_CDN?: string | undefined;
            EWX_SOLUTION_ID?: string | undefined;
            EWX_SOLUTION_GROUP_ID?: string | undefined;
            EWX_WORKLOGIC_ID?: string | undefined;
            EWX_SQLITE_PATH?: string | undefined;
            EWX_WORKER_ADDRESS?: string | undefined;
        };
        sendBuilder(inputMessage: import("../types").NodeMessage<any>): import("../node").SendBuilder;
        handleMaybePromise<T>(maybePromiseCb: () => T | Promise<T>, done: (err?: Error | undefined) => void): void;
    };
};
