/**
 * local preview server 의 사내 공용 published 패키지를 패키지 매니저 install 명령으로 추가하는 책임을 담당한다.
 * package.json 에 의존성 버전을 직접 박지 않고, npm install <pkg>@<version> 후처리로 추가/최신화한다.
 * package-custom.json 으로 특정 버전 고정 및 기타 package.json 속성 커스터마이징을 지원한다.
 */
import type { StoragePaths, TraceLogger } from '../../../../../platform/core/types';
import type { JsonRecord, LocalServerPackageJson } from '../paths';
/**
 * package-custom.json 파싱 결과 타입이다.
 * dependencies 는 설치 버전 제어에, 그 외 키는 package.json 속성 병합에 사용된다.
 */
export type LocalServerPackageCustom = JsonRecord & {
    /**
     * 특정 패키지를 고정 버전으로 설치하기 위한 dependency 레코드
     */
    dependencies?: Record<string, string>;
};
/**
 * @description
 * JSONC 문자열에서 라인(`//`)/블록(`/* *\/`) 주석을 제거한다. 문자열 리터럴 내부는 보존한다.
 * @param input 주석이 포함될 수 있는 JSON 문자열
 * @returns 주석이 제거된 JSON 문자열
 */
export declare function stripJsonComments(input: string): string;
/**
 * @description
 * package-custom.json 파일이 없으면 주석 예시가 포함된 빈 템플릿을 생성한다.
 * @param paths 저장소 경로 정보
 * @param trace trace 로거
 * @returns 새로 생성했는지 여부
 */
export declare function ensureLocalServerPackageCustomFile(paths: StoragePaths, trace: TraceLogger): boolean;
/**
 * @description
 * package-custom.json 을 읽어 주석을 제거하고 파싱한다. 없거나 비어 있으면 빈 객체를 반환한다.
 * @param paths 저장소 경로 정보
 * @param trace trace 로거
 * @returns 파싱된 커스텀 설정
 */
export declare function readLocalServerPackageCustom(paths: StoragePaths, trace: TraceLogger): LocalServerPackageCustom;
/**
 * @description
 * package-custom.json 의 dependencies 를 제외한 속성을 package.json 객체에 병합한다. (커스텀 우선)
 * dependencies 는 install 후처리에서 다루므로 여기서는 직접 기록하지 않는다.
 * @param packageJson 병합 대상 package.json 객체
 * @param custom 커스텀 설정
 * @returns 커스텀 속성이 병합된 package.json 객체
 */
export declare function applyLocalServerPackageCustomManifest(packageJson: LocalServerPackageJson, custom: LocalServerPackageCustom): LocalServerPackageJson;
/**
 * @description
 * 설치 대상 published 패키지 목록과 각 설치 버전을 결정한다.
 * 기본 목록은 REQUIRED 공용 패키지이며, package-custom.json 의 dependencies 키도 함께 포함한다.
 * @param custom 커스텀 설정
 * @returns 패키지 이름과 설치 버전 매핑
 */
export declare function resolveRequiredPublishedInstallTargets(custom: LocalServerPackageCustom): Record<string, string>;
/**
 * @description
 * 사내 공용 published 패키지를 npm install 명령으로 추가/최신화한다.
 * package.json 에 버전을 직접 기록하지 않고, npm 이 설치하면서 dependencies 에 반영하도록 한다.
 * @param paths 저장소 경로 정보
 * @param trace trace 로거
 * @param force 모든 대상을 강제로 재설치(최신화)할지 여부
 * @returns 실제 설치한 `name@version` 스펙 목록
 */
export declare function installRequiredPublishedDependencies(paths: StoragePaths, trace: TraceLogger, force?: boolean): string[];
//# sourceMappingURL=published-install.d.ts.map