import type { SchemeStorageAdapter, SchemeSyncDataDto, SchemeStorageConfig, ColumnScheme, QueryScheme } from './schemeStorageAdapter'; /** * 后端 API 适配器配置 */ export interface BackendApiAdapterConfig extends SchemeStorageConfig { /** API 基础路径 */ apiBaseUrl: string; /** 认证令牌获取函数 */ getToken?: () => string | null; /** 用户标识获取函数 */ getUserId?: () => string | null; /** 请求超时时间(毫秒),默认 10000 */ timeout?: number; /** 最大重试次数,默认 3 */ maxRetries?: number; /** 重试延迟(毫秒),默认 1000 */ retryDelay?: number; } /** * 后端 API 方案存储适配器 * * 特点: * - 调用后端细粒度 REST API * - 每个操作立即发送请求 * - 支持错误重试 * - 自动处理认证 * * 数据格式: * - 使用扩展的列配置格式 (columnConfig: FlatColumnItem[]) * - 包含列分组层级结构 * - 后端需要存储和返回完整的 columnConfig 数据 */ export declare class BackendApiSchemeAdapter implements SchemeStorageAdapter { private config; constructor(config: BackendApiAdapterConfig); /** * 日志输出 */ private log; /** * 【修复】将 JavaScript 时间戳转换为 ISO 字符串 * * JavaScript Date.now() 返回毫秒时间戳(如 1699344567890) * .NET DateTimeOffset 需要 ISO 8601 格式字符串(如 "2023-11-07T08:36:07.890Z") * * @param timestamp 毫秒时间戳 * @returns ISO 8601 格式字符串 */ private toIsoString; /** * 【修复】将 ISO 字符串转换为 JavaScript 时间戳 * * @param isoString ISO 8601 格式字符串 * @returns 毫秒时间戳 */ private fromIsoString; /** * 生成请求头 */ private getHeaders; /** * 延迟函数 */ private delay; /** * 发送 HTTP 请求(带重试机制) */ private request; loadAllSchemes(): Promise; saveColumnScheme(gridId: string, scheme: ColumnScheme): Promise; deleteColumnScheme(gridId: string, schemeId: string): Promise; saveQueryScheme(gridId: string, scheme: QueryScheme): Promise; deleteQueryScheme(gridId: string, schemeId: string): Promise; setCurrentScheme(gridId: string, columnSchemeId: string | null, querySchemeId: string | null): Promise; }