/**
 * 파일시스템 유틸리티
 */
import { getGlobalConfigDir } from '../../infra/lib/llm/auth/ConfigManager.js';
/**
 * 전역 vibe 설정 디렉토리 경로 (getCoreConfigDir = getGlobalConfigDir alias)
 */
export declare const getCoreConfigDir: typeof getGlobalConfigDir;
/**
 * 디렉토리 내 모든 .md 파일에서 {{VIBE_PATH}} / {{VIBE_PATH_URL}} 템플릿 치환
 * - {{VIBE_PATH}}     → ~/.vibe  (forward slash)
 * - {{VIBE_PATH_URL}} → file:///~/.vibe/
 */
export declare function replaceTemplatesInDir(dirPath: string): void;
/**
 * 디렉토리 생성 (재귀)
 */
export declare function ensureDir(dir: string): void;
/**
 * 디렉토리 복사 (재귀, node_modules/.git 제외)
 */
export declare function copyDirRecursive(src: string, dest: string): void;
/**
 * 디렉토리 삭제 (재귀)
 */
export declare function removeDirRecursive(dir: string): void;
/**
 * 스킬 복사 (항상 덮어쓰기 — 패키지 업데이트 시 최신 버전 반영)
 */
export declare function copySkillsOverwrite(src: string, dest: string): void;
/**
 * 레거시 스킬 디렉토리 삭제 (이름 변경된 구 디렉토리 정리)
 */
export declare function removeLegacySkills(skillsDir: string, legacyDirs: ReadonlyArray<string>): void;
/**
 * 디렉토리 기반 스킬 모두 정리 — ~/.claude/vibe/skills/ 에 남아있는 {name}/ 디렉토리 제거
 * Claude Code가 ~/.claude/ 재귀 스캔 시 ~/.claude/skills/와 중복 발견되므로 제거 필요
 * flat .md 파일(인라인 스킬)은 유지
 */
export declare function cleanupDuplicateSkillDirs(skillsDir: string): void;
/**
 * 스킬 필터링 복사 — 허용 목록에 있는 스킬 디렉토리만 복사
 * @param src - 스킬 소스 디렉토리 (skills/)
 * @param dest - 설치 대상 디렉토리
 * @param allowedSkills - 복사할 스킬 이름 목록
 */
export declare function copySkillsFiltered(src: string, dest: string, allowedSkills: ReadonlyArray<string>): void;
/**
 * Codex는 Vibe의 `user-invocable: false` 메타데이터를 직접 해석하지 않는다.
 * 내부 체인 전용 스킬은 공식 Codex skill policy로 implicit invocation을 막는다.
 */
export declare function applyCodexSkillInvocationPolicies(skillsDir: string): void;
//# sourceMappingURL=fs-utils.d.ts.map