import type { ArkmeComposerAttachment } from './composer-draft-store.js'; import type { ArkmeLocalFile } from '../file-transfer-contract.js'; import type { ArkmeUploadedAsset } from '../types.js'; import type { TeamContent, TeamMessage, TeamReplyTarget, TeamMention } from '../team-app-contract.js'; export type TeamDraft = { mentions?: TeamMention[]; attachments?: readonly ArkmeComposerAttachment[]; text: string; startedAtMillis?: number | undefined; assets: ArkmeUploadedAsset[]; localFiles?: ArkmeLocalFile[]; reply?: TeamReplyTarget; attempt?: { uid: string; reply?: TeamReplyTarget; content: TeamContent; expectedReplySeq: number; createdAt?: number; startedAtMillis?: number | undefined; fileRefs?: string[]; message?: TeamMessage; reason?: string; }; }; export declare function persistTeamDraft(storage: Pick, key: string, draft: TeamDraft): void; export declare function loadTeamDraft(storage: Pick, key: string): TeamDraft; /** Start on actual content input, retain across blur/remount, reset only once a draft is empty. */ export declare function updateTeamDraftText(draft: TeamDraft, text: string, now?: number): TeamDraft; export declare function validTeamDraftStart(value: unknown): number | undefined; export declare function restoreTeamDraftContent(original: TeamContent, next: Pick): Pick; //# sourceMappingURL=team-message-draft.d.ts.map