import type { consola } from "consola";
/**
 * replaceDeps 설정의 glob 패턴을 대상 패키지 목록과 매칭하여
 * { targetName, sourcePath } 쌍을 반환한다.
 *
 * @param replaceDeps - sd.config.ts의 replaceDeps 설정 (키: glob 패턴, 값: 소스 경로)
 * @param targetNames - node_modules에서 찾은 패키지명 목록 (예: ["@simplysm/solid", ...])
 * @returns 매칭된 { targetName, sourcePath } 배열
 */
export declare function resolveReplaceDepEntries(replaceDeps: Record<string, string>, targetNames: string[]): Array<{
    targetName: string;
    sourcePath: string;
}>;
/**
 * pnpm-workspace.yaml 내용을 파싱하여 워크스페이스 패키지 glob 배열을 반환한다.
 * 별도 YAML 라이브러리 없이 간단한 줄 파싱으로 처리한다.
 *
 * @param content - pnpm-workspace.yaml 파일 내용
 * @returns glob 패턴 배열 (예: ["packages/*", "tools/*"])
 */
export declare function parseWorkspaceGlobs(content: string): string[];
/**
 * replaceDeps 복사/교체 항목
 */
export interface ReplaceDepEntry {
    targetName: string;
    sourcePath: string;
    targetPath: string;
    resolvedSourcePath: string;
    actualTargetPath: string;
}
/**
 * replaceDeps 설정에서 모든 교체 대상 항목을 해결한다.
 *
 * 1. pnpm-workspace.yaml 파싱 → 워크스페이스 패키지 경로
 * 2. [루트, ...워크스페이스 패키지] node_modules에서 매칭 패키지 탐색
 * 3. 패턴 매칭 + 소스 경로 존재 확인 + symlink 해결
 *
 * @param projectRoot - 프로젝트 루트 경로
 * @param replaceDeps - sd.config.ts의 replaceDeps 설정
 * @param logger - consola 로거
 * @returns 해결된 교체 대상 항목 배열
 */
export declare function resolveAllReplaceDepEntries(projectRoot: string, replaceDeps: Record<string, string>, logger: ReturnType<typeof consola.withTag>): Promise<ReplaceDepEntry[]>;
//# sourceMappingURL=replace-deps-resolve.d.ts.map