export const BACKUP_SIGNATURE: string; export const BACKUP_VERSION: number; export const MIN_SUPPORTED_BACKUP_VERSION: number; export type PromptHistoryItem = { id: string; content: string; timestamp: number; }; export type PromptData = { promptHistory: PromptHistoryItem[]; videoPromptHistory: PromptHistoryItem[]; imagePromptHistory: PromptHistoryItem[]; presetSettings: { image: { pinnedPrompts: string[]; deletedPrompts: string[] }; video: { pinnedPrompts: string[]; deletedPrompts: string[] }; audio: { pinnedPrompts: string[]; deletedPrompts: string[] }; text: { pinnedPrompts: string[]; deletedPrompts: string[] }; agent: { pinnedPrompts: string[]; deletedPrompts: string[] }; 'ppt-common': { pinnedPrompts: string[]; deletedPrompts: string[] }; 'ppt-slide': { pinnedPrompts: string[]; deletedPrompts: string[] }; }; deletedPromptContents?: string[]; promptHistoryOverrides?: any[]; }; export function getExtensionFromMimeType(mimeType: string): string; export function getCandidateExtensions(mimeType?: string | null): string[]; export function normalizeBackupAssetType(type?: string | null, mimeType?: string | null): 'IMAGE' | 'VIDEO' | 'AUDIO'; export function normalizeCacheMediaType(type?: string | null, mimeType?: string | null): 'image' | 'video' | 'audio'; export function sanitizeFileName(name: string): string; export function generateIdFromUrl(url: string): string; export function appendUrlHashToBackupName(baseName: string, url?: string | null): string; export function ensureUniqueBackupName(baseName: string, usedNames: Set): string; export function hasExportableTaskMedia(result?: { url?: string | null; urls?: Array | null; clips?: Array<{ audioUrl?: string | null } | null | undefined> | null; } | null): boolean; export function formatTimestampForFilename(timestamp?: number): string; export function buildAssetExportBaseName(assetId: string, createdAt?: number): string; export function mergePromptData(input: { promptHistory?: PromptHistoryItem[]; videoPromptHistory?: PromptHistoryItem[]; imagePromptHistory?: PromptHistoryItem[]; presetSettings?: PromptData['presetSettings']; deletedPromptContents?: string[]; promptHistoryOverrides?: any[]; allTasks?: Array; }): PromptData; export function filterCompletedMediaTasks(allTasks?: T[]): T[]; export function validateBackupManifest( manifest: T, options?: { minVersion?: number; maxVersion?: number } ): T; export function buildFolderPathMap(folders?: T[]): Map; export function collectFolderPathsFromBoardPaths(boardPaths?: string[]): string[]; export function getFolderDepth(folder: T, folderMap: Map): number; export function sortFoldersByDepth(folders?: T[]): T[]; export function getFolderKey(name: string, parentId?: string | null): string; export function findBinaryFile(assetsFolder: any, metaRelativePath: string, mimeType?: string | null): any; export function exportKnowledgeBaseData(adapter: { getAllDirectories(): Promise; getAllTags(): Promise; getAllNoteMetas(): Promise; getNoteContentById(id: string): Promise; getAllNoteTags(): Promise; getAllNoteImages?(): Promise; }): Promise<{ version: number; exportedAt: number; directories: any[]; notes: any[]; tags: any[]; noteTags: any[]; images: any[]; }>; export function importKnowledgeBaseData(data: any, adapter: { getAllDirectories(): Promise; getDirectoryById(id: string): Promise; putDirectory(id: string, value: any): Promise; getTagById(id: string): Promise; putTag(id: string, value: any): Promise; getNoteById(id: string): Promise; putNoteMeta(id: string, value: any): Promise; putNoteContent(id: string, value: any): Promise; getNoteTagById(id: string): Promise; putNoteTag(id: string, value: any): Promise; getNoteImageById?(id: string): Promise; putNoteImage?(id: string, value: any): Promise; }): Promise<{ dirCount: number; noteCount: number; tagCount: number; imageCount: number }>;