/** * 浏览器专用入口文件 * 使用静态导入以便 esbuild 可以打包所有依赖 */ import type { IFileSystem } from './types.js'; export interface BrowserSyncOptions { /** PouchDB 数据库实例 */ db: any; /** 存储根路径,默认为 '/storage' */ basePath?: string; /** WebDAV 配置(可选) */ webdav?: { baseUrl: string; username?: string; password?: string; }; /** 是否自动合并文件,默认为 true */ autoMerge?: boolean; /** IndexedDB 存储名称,默认为 'universal-sync-storage' */ storeName?: string; } /** * 浏览器环境的简化同步接口 * 支持 IndexedDB 或 WebDAV 作为存储后端 * * @example * ```typescript * // 使用 IndexedDB(本地存储) * import { syncBrowser } from 'universal-sync-v2'; * import PouchDB from 'pouchdb'; * * const db = new PouchDB('mydb'); * await syncBrowser({ db }); * ``` * * @example * ```typescript * // 使用 WebDAV(远程存储) * import { syncBrowser } from 'universal-sync-v2'; * import PouchDB from 'pouchdb'; * * const db = new PouchDB('mydb'); * await syncBrowser({ * db, * webdav: { * baseUrl: 'https://webdav.example.com', * username: 'user', * password: 'pass' * } * }); * ``` */ export declare function syncBrowser(options: BrowserSyncOptions): Promise; /** * 创建一个配置好的文件系统实例 * 用于需要手动控制同步流程的场景 * * @example * ```typescript * // 使用 IndexedDB * import { createBrowserFS } from 'universal-sync-v2'; * import { SyncEngine } from 'universal-sync-v2'; * * const fs = await createBrowserFS(); * const engine = new SyncEngine(db, fs, { basePath: '/storage' }); * await engine.initialize(); * await engine.sync(); * ``` * * @example * ```typescript * // 使用 WebDAV * import { createBrowserFS } from 'universal-sync-v2'; * * const fs = await createBrowserFS({ * webdav: { * baseUrl: 'https://webdav.example.com', * username: 'user', * password: 'pass' * } * }); * ``` */ export declare function createBrowserFS(options?: { storeName?: string; webdav?: { baseUrl: string; username?: string; password?: string; }; }): Promise; export type { IFileSystem, SyncOptions } from './types.js'; export { SyncEngine } from './core/sync-engine.js'; export { sync } from './index.js'; export { FILE_PATTERNS, DIRECTORIES } from './constants.js'; export { setDebugEnabled, isDebugEnabled, listDebugModules, MODULE_ROOT, MODULE_SYNC_ENGINE, MODULE_STORAGE_MANAGER, MODULE_LOCAL_CACHE, MODULE_LOCK_MANAGER, MODULE_FS_UTILS, MODULE_FS_RAW, MODULE_HELPERS, MODULE_MEMORY_POUCH, logRoot, logSyncEngine, logStorageManager, logLocalCache, logLockManager, logFsUtils, logFsRaw, logHelpers, logMemoryPouch, } from './utils/logger.js'; //# sourceMappingURL=browser-entry.d.ts.map