/** * @description 持久化接口变更记录。 * 保存一份总的 manifest 的 JSON 文件。该文件包括所有项目的信息,始终和接口变更目录保持一致。方便做信息查询。 */ import type { IStandardDataSource } from '../types/dataSource'; import type { StandardDataSource } from '../main/StandardDataSource'; declare class Record { filename: string; saveTime: Date; constructor(filename: string); } interface IProject { projectName: string; originUrl: string; projectPath: string; records: Record[]; } declare type IProjectParams = Omit; interface ProjectsManifest { projects: IProject[]; } export declare class LocalDsManager { static getProjectsManifest(rootDir: string): ProjectsManifest; static saveManifest(rootDir: string, manifest: ProjectsManifest): void; static getProject(rootDir: string, filename: string): IStandardDataSource; static saveProject(rootDir: string, filename: string, ds: StandardDataSource): void; static isProjectExists(rootDir: string, project: IProjectParams): IProject; /** 获取该项目最新的数据源 */ static getLatestDsInProject(rootDir: string, project: IProjectParams): IStandardDataSource; static appendRecord(rootDir: string, project: IProject, ds: StandardDataSource): void; static createProject(rootDir: string, project: IProjectParams): IProject; static saveDataSource(rootDir: string, project: IProjectParams, ds: StandardDataSource): void; } export {};