import type { MusicInfo, MusicSource } from './types.js'; export interface PendingSearch { readonly results: readonly MusicInfo[]; readonly source: MusicSource; readonly keyword: string; readonly timestamp: number; } export declare function sessionKey(endpointId: string, conversationId: string, senderId: string): string; export declare function resolveMessageIds(input: { metadata?: Record; conversation?: { id?: unknown; endpoint?: { id?: unknown; }; }; sender?: { id?: unknown; }; }): { endpointId: string; conversationId: string; senderId: string; } | null; /** Generation-owned pending music selections. */ export declare class MusicSearchSessions { #private; constructor(timeoutMs?: number, now?: () => number); set(key: string, search: PendingSearch): void; get(key: string): PendingSearch | undefined; delete(key: string): void; pruneExpired(): void; dispose(): void; } //# sourceMappingURL=session.d.ts.map