/**
 * Wire Codec
 *
 * Converts between semantic Matrix URIs and wire topics.
 * With DNS hierarchical addressing, wire topics are dot-separated
 * and the transport handles root prefix encoding.
 *
 * @module federation/wire_codec
 */
/**
 * Parameters for MXTOPIC-2 wire topic encoding/decoding.
 */
export interface WireTopicParams {
    /** Globally unique root identity (e.g., 'matrix-3', 'flowpad-tab-xyz') */
    root: string;
    /** @deprecated Use root instead */
    realm?: string;
    /** Filesystem-like placement hierarchy segments */
    mountSegments: string[];
    /** Dot-delimited supervision topology (e.g., 'app.editor.sidebar') */
    componentPath: string;
    /** Message direction */
    plane: 'accepts' | 'emits';
    /** Message name */
    messageName: string;
}
/**
 * Encode semantic coordinates to wire topic.
 *
 * With DNS hierarchical addressing, the wire topic is built from
 * mount segments + component path + plane + message name, dot-separated.
 * The transport layer handles root prefix.
 *
 * @example
 * encodeToWireTopic({
 *   root: 'com.example',
 *   mountSegments: ['root', 'project'],
 *   componentPath: 'tree',
 *   plane: 'accepts',
 *   messageName: 'introspect'
 * });
 * // => 'root.project.tree.accepts.introspect'
 */
export declare function encodeToWireTopic(params: WireTopicParams): string;
/**
 * Decode a wire topic to semantic coordinates.
 *
 * With DNS hierarchical addressing, wire topics are dot-separated.
 * The root is not embedded in the topic -- it's a transport concern.
 *
 * @returns Parsed params or null if invalid format
 */
export declare function decodeFromWireTopic(wireTopic: string): WireTopicParams | null;
/**
 * Legacy return type for parseSemanticTopic (compatibility).
 * @deprecated Use parseMatrixUri which returns MatrixUri instead.
 */
export interface SemanticTopicParams {
    scheme: 'matrix';
    root?: string;
    /** @deprecated Use root instead */
    realm?: string;
    mount: string;
    componentPath: string;
    plane: 'accepts' | 'emits';
    messageName: string;
    /** @deprecated Merged into root */
    principal?: string;
}
/**
 * Parse a semantic Matrix URI to coordinates.
 *
 * @deprecated Use parseMatrixUri() directly. This is a compatibility wrapper.
 *
 * @example
 * parseSemanticTopic('matrix-3/daemon/project/tree.accepts.introspect')
 * // => { scheme: 'matrix', root: 'matrix-3', mount: 'daemon/project', componentPath: 'tree', plane: 'accepts', messageName: 'introspect' }
 */
export declare function parseSemanticTopic(uri: string): SemanticTopicParams | null;
//# sourceMappingURL=wire_codec.d.ts.map