import type { ITransportAdapter, TransportHandler, IWireTopicInfo } from '../engine/remoting/ITransportAdapter';
import type { Transport } from '@open-matrix/federation';
/**
 * Adapter that wraps a federation Transport to implement ITransportAdapter.
 *
 * This bridges the interface differences:
 * - Federation Transport: publish(topic, payload: string), subscribe handler receives (topic, payload: string)
 * - ITransportAdapter: publish(topic, payload: unknown), subscribe handler receives (payload, meta)
 */
export declare class FederationTransportAdapter implements ITransportAdapter {
    private readonly _inner;
    constructor(transport: Transport);
    /**
     * The root of the underlying transport, if available.
     * Used by RequestReply for cross-root federation detection.
     */
    get root(): string;
    /** @deprecated Use `root`. */
    get realm(): string;
    /**
     * Get the underlying client for cross-root messaging.
     */
    getUnderlyingClient(): unknown;
    disconnect(): Promise<void>;
    /**
     * Get the topic prefix (always empty for this adapter).
     */
    get topicPrefix(): string;
    /**
     * Get wire topic info for debugging.
     */
    getWireTopicInfo(topic: string): IWireTopicInfo;
    /**
     * Publish a message.
     * Converts unknown payload to string for federation transport.
     */
    publish(topic: string, payload?: unknown): void;
    /**
     * Subscribe to a topic.
     * Wraps the handler to convert federation format to ITransportAdapter format.
     */
    subscribe(topic: string, handler: TransportHandler): () => void;
}
/**
 * Create an adapter-wrapped transport from a federation Transport.
 */
export declare function wrapFederationTransport(transport: Transport): ITransportAdapter;
//# sourceMappingURL=FederationTransportAdapter.d.ts.map