import type { ResourceIdentifier } from '@solid/community-server'; import { SingleRootIdentifierStrategy } from '@solid/community-server'; /** * MultiDomainIdentifierStrategy - 支持多个域名的 IdentifierStrategy * * 特性: * 1. 支持多个 baseUrl(如 id.undefineds.co 和 pods.undefineds.co) * 2. 存储使用完整 URI(各域名数据独立存储) * 3. 适用于 Cloud 模式同时处理 WebID 和 Pod 数据 */ export declare class MultiDomainIdentifierStrategy extends SingleRootIdentifierStrategy { protected readonly logger: import("global-logger-factory").Logger; private readonly primaryBaseUrl; private readonly additionalBaseUrls; /** * @param primaryBaseUrl - 主要 baseUrl(用于生成新资源路径) * @param additionalBaseUrls - 额外支持的 baseUrl 列表 */ constructor(primaryBaseUrl: string, additionalBaseUrls?: string[]); /** * 检查 identifier 是否被支持(属于任一 baseUrl) */ supportsIdentifier(identifier: ResourceIdentifier): boolean; /** * 获取资源在存储中的相对路径(去掉域名前缀) */ getStoragePath(identifier: ResourceIdentifier): string; /** * 将相对路径转换为完整 URL(使用 primary baseUrl) */ getCanonicalUrl(relativePath: string): string; /** * 获取主要 baseUrl */ getPrimaryBaseUrl(): string; /** * 获取所有支持的 baseUrls */ getAllBaseUrls(): string[]; }