export declare const PROJECT_REGISTRY_SCHEMA_VERSION = 1; export type ProjectRegistrySource = 'init' | 'update' | 'repair'; export type ProjectRegistryErrorCode = 'invalid-json' | 'invalid-schema'; export interface ProjectRegistryTarget { platform: string; language: 'en' | 'zh'; } export interface ProjectRegistryEntry { path: string; canonicalPath: string; addedAt: string; updatedAt: string; lastSeenAt: string; lastSource: ProjectRegistrySource; lastTargets: ProjectRegistryTarget[]; } export interface ProjectRegistry { schemaVersion: typeof PROJECT_REGISTRY_SCHEMA_VERSION; updatedAt: string; projects: ProjectRegistryEntry[]; } export interface ProjectRegistryOptions { homeDir?: string; now?: Date; strict?: boolean; } export declare class ProjectRegistryError extends Error { readonly code: ProjectRegistryErrorCode; readonly registryPath: string; constructor(code: ProjectRegistryErrorCode, message: string, registryPath: string); } export declare function getProjectRegistryPath(homeDir?: string): string; export declare function findProjectRegistryEntry(projectPath: string, projects: ProjectRegistryEntry[]): Promise; export declare function readProjectRegistry(options?: ProjectRegistryOptions): Promise; export declare function listProjectRegistryEntries(options?: ProjectRegistryOptions): Promise; export declare function upsertProjectInstallation(projectPath: string, targets: ProjectRegistryTarget[], source: ProjectRegistrySource, options?: ProjectRegistryOptions): Promise; export declare function removeProjectInstallation(projectPath: string, options?: ProjectRegistryOptions): Promise; //# sourceMappingURL=project-registry.d.ts.map