export interface OutlookMessageData { messageId: string; conversationId: string | null; fromAddress: string | null; fromName: string | null; toAddresses: string[]; ccAddresses: string[]; subject: string | null; bodyText: string; receivedDateTime: string; accountId: string; } export interface ThreadGroup { rootKey: string; messages: OutlookMessageData[]; /** All distinct lowercased addresses from From/To/Cc across the thread. */ addresses: string[]; } export interface DispatchResult { threadsDispatched: number; threadsSkipped: number; unresolvedAddresses: string[]; } /** * Group messages into threads by Graph conversationId. A message with no * conversationId falls back to its own messageId key, so it stands alone * rather than colliding with other conversation-less messages. */ export declare function groupByThread(messages: OutlookMessageData[]): ThreadGroup[]; /** Thread JSON shape consumed by the `email` normaliser: [{from:{name,email},date,bodyText}]. */ export declare function buildThreadJson(thread: ThreadGroup): { from: { name: string | null; email: string | null; }; date: string; bodyText: string; }[]; export declare function dispatchOutlookMessagesToConversationArchive(messages: OutlookMessageData[]): Promise; //# sourceMappingURL=conversation-archive-dispatch.d.ts.map