import { MessageQueue } from './message-queue.ts';
import type { AbstractMultiaddrConnectionInit } from './abstract-multiaddr-connection.ts';
import type { MessageQueueEvents, MessageQueueInit } from './message-queue.ts';
import type { Logger, MultiaddrConnection, MessageStreamDirection, TypedEventTarget } from '@libp2p/interface';
import type { Multiaddr } from '@multiformats/multiaddr';
interface MockMultiaddrConnectionMessages extends MessageQueueEvents {
    close: Event;
    pause: Event;
    resume: Event;
}
export interface MockMultiaddrConnectionInit extends AbstractMultiaddrConnectionInit {
    id: string;
    log: Logger;
    direction: MessageStreamDirection;
    local: MessageQueue<MockMultiaddrConnectionMessages>;
    remote: TypedEventTarget<MockMultiaddrConnectionMessages>;
    remoteAddr: Multiaddr;
}
export interface MultiaddrConnectionPairOptions extends MessageQueueInit {
    outbound?: Partial<MockMultiaddrConnectionInit>;
    inbound?: Partial<MockMultiaddrConnectionInit>;
}
export declare function multiaddrConnectionPair(opts?: MultiaddrConnectionPairOptions): [MultiaddrConnection, MultiaddrConnection];
export {};
//# sourceMappingURL=multiaddr-connection-pair.d.ts.map