export interface RepoMessageStatus { type?: string; reason?: string; } export interface RepoMessageContent { type: string; text?: string; [key: string]: unknown; } export interface RepoMessage { id?: string; role?: string; status?: RepoMessageStatus; content?: string | RepoMessageContent[]; metadata?: Record; createdAt?: Date | string | number; [key: string]: unknown; } export interface RepoEntry { parentId?: string | null; message?: RepoMessage; id?: string; role?: string; status?: RepoMessageStatus; content?: string | RepoMessageContent[]; [key: string]: unknown; } export interface NormalizedRepo { messages?: RepoEntry[]; headId?: string; queuedMessages?: unknown[]; [key: string]: unknown; } export declare function getRepoMessages(repo: NormalizedRepo | null | undefined): RepoEntry[]; export declare function getRepoMessage(entry: RepoEntry): RepoMessage | null; export declare function getAssistantRunDurationMs(message: { metadata?: unknown; } | null | undefined): number | null; export declare function withLastAssistantRunDuration(repo: T, durationMs: number | null | undefined): T; export declare function dedupeRepoMessagesById(repo: T | null | undefined): T | null | undefined; export declare function dropEmptyAssistantMessages(repo: T | null | undefined): T | null | undefined; export declare function isAssistantMessageTerminal(message: RepoMessage | null): boolean; export declare function repoHasAssistantMessage(repo: NormalizedRepo | null | undefined): boolean; export declare function shouldImportServerThreadData(currentRepo: NormalizedRepo | null | undefined, incomingRepo: NormalizedRepo | null | undefined): boolean;