/** * Session Key Utilities * * Provides consistent session key generation for lane-based concurrency. */ import type { MessageSource } from '../gateways/types.js'; /** * Build a session key from message source, channel, and user * * @param source - Message source (discord, slack, chatwork, etc.) * @param channelId - Channel/room identifier * @param userId - User identifier * @returns Session key in format "{source}:{channelId}:{userId}" * * @example * ```typescript * buildSessionKey('discord', '123456789', '987654321') * // → 'discord:123456789:987654321' * ``` */ export declare function buildSessionKey(source: MessageSource | string, channelId: string, userId: string): string; /** * Build a channel-level session key (shared by all users in a channel) * * @param source - Message source * @param channelId - Channel/room identifier * @returns Session key in format "{source}:{channelId}" */ export declare function buildChannelSessionKey(source: MessageSource | string, channelId: string): string; /** * Parse a session key into its components * * @param sessionKey - Session key to parse * @returns Parsed components or null if invalid */ export declare function parseSessionKey(sessionKey: string): { source: string; channelId: string; userId?: string; } | null; //# sourceMappingURL=session-key.d.ts.map