export type DirectConversationScope = 'main' | 'per-peer' | 'per-channel-peer' | 'per-account-channel-peer'; export interface ConversationRouteInput { agentId: string; source: string; accountId?: string; peerKind: string; peerId: string; threadId?: string | null; scopeId?: string | null; mainKey?: string; dmScope?: DirectConversationScope; identityLinks?: Record; } export interface ConversationRoute { agentId: string; scope: DirectConversationScope | 'group'; channel: string; accountId: string; peerKind: string; peerId: string; threadId: string; scopeId: string; } export declare function resolveLinkedConversationPeer(peerId: string, source: string, links?: Record): string; /** Computes routing equivalence, independently of conversation identity or storage. */ export declare function resolveConversationRoute(input: ConversationRouteInput): ConversationRoute; /** A collision-free lookup tuple; never a public conversation identifier. */ export declare function conversationRouteKey(route: ConversationRoute): string;