export type WireProfileName = 'matrix3' | 'mxenv1';
export interface IngressAddress {
    profile: WireProfileName;
    root: string;
    /** @deprecated Use root instead */
    realm?: string;
    shard?: string;
}
/** Legacy Matrix-3 mailbox: public.ingress.<mxesc1(root)> */
export declare function getLegacyIngressTopic(root: string): string;
export declare function extractLegacyRootFromIngressTopic(topic: string): string | null;
/** @deprecated Use extractLegacyRootFromIngressTopic instead */
export declare const extractLegacyRealmFromIngressTopic: typeof extractLegacyRootFromIngressTopic;
/** DNS-hierarchical ingress topic: {root}.$ingress.{shard} */
export declare function getMxIngressTopic(root: string, shard?: string): string;
export declare function extractMxIngressFromTopic(topic: string): {
    root: string;
    shard: string;
} | null;
/**
 * Internal semantic topic — returns the semantic path directly.
 * With DNS hierarchical addressing, the transport (NatsTransport) handles
 * root prefix encoding. The federation layer just passes semantic topics.
 */
export declare function getInternalTopic(_root: string, toPath: string): string;
//# sourceMappingURL=topics.d.ts.map