import type { MessageUnderlineChange, MessageUnderlineSnapshot } from './message-annotations.js'; export type { MessageUnderline, MessageUnderlineChange, MessageUnderlineSnapshot } from './message-annotations.js'; import type { TeamConversation, TeamPage, TeamSide, TeamTimeline } from './team-app-contract.js'; import type { TeamSendInput, TeamSendTask } from './team-send-contract.js'; export type { TeamConversation, TeamMessage, TeamPage, TeamReplyTarget, TeamReplyPreview, TeamSide, TeamTimeline } from './team-app-contract.js'; export type { TeamSendInput, TeamSendTask } from './team-send-contract.js'; export type TeamMessageReadOptions = { beforeSeq?: number; limit?: number; messageRef?: string; personRef?: string; personMode?: 'owner' | 'mentioned'; }; export type TeamReportReason = 'spam' | 'harassment' | 'illegal' | 'privacy' | 'other'; export interface TeamReportResult { reportUid: string; } export type TeamMarkAudience = 'team' | 'conversation'; export type TeamForwardDestination = { kind: 'source'; sourceRef: string; } | { kind: 'team'; conversationRef: string; }; export interface TeamForwardInput { conversationRef: string; selections: { messageRef: string; version: number; }[]; target: TeamForwardDestination; /** Keep these identities unchanged when a delivery result is unknown. */ requestId: string; recordUid: string; sendAtMillis: number; commentText?: string; commentRecordUid?: string; } export interface TeamMessagePort { readTeamExtensions(conversationRef: string, messageRef: string, options?: TeamExtensionOptions, signal?: AbortSignal): Promise; forwardTeamMessages(input: TeamForwardInput, signal?: AbortSignal): Promise; createTeamMessageCopyLink(conversationRef: string, selections: { messageRef: string; version: number; }[], signal?: AbortSignal): Promise; reportTeamMessage(conversationRef: string, messageRef: string, version: number, reason: TeamReportReason, description?: string, signal?: AbortSignal): Promise; preflightTeamMessages(conversationRef: string, selections: { messageRef: string; version: number; }[], signal?: AbortSignal): Promise; readTeamMarks(conversationRef: string, audience: TeamMarkAudience, markRefs: string[], signal?: AbortSignal): Promise<{ actionRef: string; snapshot: MessageUnderlineSnapshot; }[]>; changeTeamMark(conversationRef: string, audience: TeamMarkAudience, markRef: string, change: MessageUnderlineChange, signal?: AbortSignal): Promise; listTeamConversations(side: TeamSide, options?: { cursor?: string; limit?: number; }, signal?: AbortSignal): Promise>; readTeamMessages(conversationRef: string, options?: TeamMessageReadOptions, signal?: AbortSignal): Promise; sendTeamMessage(command: TeamSendInput, signal?: AbortSignal): Promise; teamMessageTasks(conversationRef: string, signal?: AbortSignal): Promise; updateTeamSend(conversationRef: string, taskRef: string, action: 'retry' | 'cancel', signal?: AbortSignal): Promise; } export type TeamExtensionOptions = { afterSeq?: number; throughSeq?: number; limit?: number; }; export type { TeamExtensionPage } from './team-app-contract.js'; //# sourceMappingURL=team-message-contract.d.ts.map