import { EventEmitter, captureRejectionSymbol } from 'node:events';
import type { KyooLoggerMethod } from './logger';
import type { ConnectionStatus } from '../adapters';
import type { EventName, EventCallbackResult } from './buses';
interface KyooConnectionToAdapterBusEventCallbacks {
    [captureRejectionSymbol]: (err: Error, event: EventName, ...args: any[]) => EventCallbackResult;
    connectionStatusChanged: (status: ConnectionStatus) => EventCallbackResult;
    capturedError: (err: Error) => EventCallbackResult;
    terminated: () => EventCallbackResult;
    disconnecting: () => EventCallbackResult;
    disconnected: () => EventCallbackResult;
    log: (level: KyooLoggerMethod, ...args: any[]) => EventCallbackResult;
}
type KyooConnectionToAdapterBusEvent = keyof KyooConnectionToAdapterBusEventCallbacks;
type KyooConnectionToAdapterBusEventEmitterEventMap = {
    [K in KyooConnectionToAdapterBusEvent]: Parameters<KyooConnectionToAdapterBusEventCallbacks[K]>;
};
export declare class KyooConnectionToAdapterBus extends EventEmitter<KyooConnectionToAdapterBusEventEmitterEventMap> {
    constructor();
}
export {};
