/**
 * generated 산출물 registry를 관리한다.
 * 여러 worker가 만든 output을 local-server refresh 단계에서 합집합으로 다루기 위한 얇은 파일 저장소다.
 */
import type { StoragePaths, TraceLogger } from '../../../../platform/core/types';
export type GeneratedOutputRegistryEntry = {
    componentName: string;
    dependencyFingerprint: string;
    dependencyNames: string[];
    outputDirectory: string;
    previewEligible: boolean;
    updatedAt: string;
};
export type GeneratedOutputRegistry = {
    entries: GeneratedOutputRegistryEntry[];
    version: 1;
};
/**
 * @description generated output registry를 읽는다.
 * @param paths 저장소 경로 정보
 * @returns registry 데이터
 */
export declare function readGeneratedOutputRegistry(paths: StoragePaths): GeneratedOutputRegistry;
/**
 * @description generated output registry를 저장한다.
 * @param paths 저장소 경로 정보
 * @param registry 저장할 registry
 */
export declare function writeGeneratedOutputRegistry(paths: StoragePaths, registry: GeneratedOutputRegistry): void;
/**
 * @description 특정 output 디렉터리를 registry에 upsert한다.
 * @param options upsert 옵션
 * @returns 갱신된 entry
 */
export declare function upsertGeneratedOutputRegistryEntry(options: {
    componentName?: string;
    outputDirectory: string;
    paths: StoragePaths;
    trace: TraceLogger;
}): GeneratedOutputRegistryEntry;
/**
 * @description 디스크의 generated 산출물을 registry에 반영한다.
 * @param paths 저장소 경로 정보
 * @param trace trace 로거
 * @returns 갱신된 registry
 */
export declare function syncGeneratedOutputRegistryFromDisk(paths: StoragePaths, trace: TraceLogger): GeneratedOutputRegistry;
/**
 * @description registry 기준 preview 가능한 output 디렉터리를 반환한다.
 * @param registry generated output registry
 * @returns preview 후보 output 디렉터리 목록
 */
export declare function listPreviewEligibleOutputDirectories(registry: GeneratedOutputRegistry): string[];
//# sourceMappingURL=registry.d.ts.map