/**
 * ProjectSetup - 프로젝트 레벨 설정
 */
import { TechStack, StackDetails } from '../types.js';
/**
 * constitution.md 생성 또는 업데이트
 */
export declare function updateConstitution(coreDir: string, detectedStacks: TechStack[], stackDetails: StackDetails): void;
/**
 * 전역 ~/.claude/CLAUDE.md 생성/갱신 — vibe 규약(룰·키워드·워크플로) 전역 주입
 */
export declare function generateGlobalClaudeMd(): void;
/**
 * 전역 ~/.codex/AGENTS.md 생성/갱신 (Codex CLI 감지 시에만 호출)
 */
export declare function generateGlobalCodexAgentsMd(): void;
/**
 * 전역 ~/.gemini/GEMINI.md 생성/갱신 (Antigravity CLI context file)
 */
export declare function generateGlobalAntigravityMd(): void;
/**
 * 프로젝트 분석 → CLAUDE.md 생성/갱신 (프로젝트별 섹션만)
 * 전역 규약은 `~/.claude/CLAUDE.md`에서 별도 관리.
 */
export declare function generateProjectClaudeMd(projectRoot: string, detectedStacks: TechStack[], stackDetails: StackDetails, createIfMissing?: boolean): void;
/**
 * 프로젝트 분석 → AGENTS.md 생성/갱신 (Codex 용, 프로젝트별 섹션만)
 * @param createIfMissing false 시 존재하는 파일만 갱신 (update --dynamic 용)
 */
export declare function generateProjectAgentsMd(projectRoot: string, detectedStacks: TechStack[], stackDetails: StackDetails, createIfMissing?: boolean): void;
/**
 * 프로젝트 분석 → GEMINI.md 생성/갱신 (Antigravity context file)
 * @param createIfMissing false 시 존재하는 파일만 갱신
 */
export declare function generateProjectAntigravityMd(projectRoot: string, detectedStacks: TechStack[], stackDetails: StackDetails, createIfMissing?: boolean): void;
/**
 * 프로젝트 core 폴더 설정
 */
export declare function updateRules(coreDir: string, detectedStacks: TechStack[], isUpdate?: boolean): void;
/**
 * 프로젝트 레벨 훅 설치 (.claude/settings.local.json)
 *
 * @param projectRoot 프로젝트 루트
 * @param harnessDir 하네스 디렉토리 이름 ('.claude', 기본값: '.claude')
 */
export declare function installProjectHooks(projectRoot: string, harnessDir?: string): void;
/**
 * Codex notify 설치 — `~/.codex/config.toml` 에 `notify` 프로그램을 등록한다.
 *
 * Codex 는 Claude Code 의 settings.local.json hook 을 읽지 않는다. 대신 lifecycle
 * 이벤트를 `notify` 배열에 등록된 프로그램으로 발화하므로, 이를 vibe 의 codex-notify
 * 어댑터에 연결해 turn 완료 시 auto-commit/devlog 를 돌린다.
 *
 * - 관리 블록(마커)으로 idempotent 갱신
 * - 사용자가 이미 자체 `notify` 키를 둔 경우 덮어쓰지 않고 건너뛴다(경고)
 * - TOML 루트 키는 테이블 헤더 이전에 와야 하므로 관리 블록을 파일 최상단에 둔다
 *
 * @param configDir Codex 설정 디렉토리 (보통 `~/.codex`)
 */
export declare function installCodexNotify(configDir: string): void;
/**
 * .gitignore 업데이트
 *
 * @param harnessDir '.claude' | '.codex' (기본값: '.claude')
 *   하네스-특정 경로(settings.local.json, checkpoints/)는 해당 디렉토리에 쓰기 위해 사용.
 */
export declare function updateGitignore(projectRoot: string, harnessDir?: string): void;
/**
 * config.json 생성/업데이트
 */
export declare function updateConfig(coreDir: string, detectedStacks: TechStack[], stackDetails: StackDetails, isUpdate?: boolean, harnessDir?: string): void;
/**
 * Cursor IDE 프로젝트 룰 설치
 * ~/.cursor/rules-template/에서 프로젝트의 .cursor/rules/로 복사
 * - 언어 룰 (typescript-*, python-* 등): 현재 프로젝트 스택에 해당하는 것만 설치/업데이트
 * - 공통 룰 (code-quality, security-checklist): 없을 때만 복사
 * - 사용자 룰 (packages-*, apps-* 등): 보존
 */
export declare function installCursorRules(projectRoot: string, detectedStacks?: string[]): void;
//# sourceMappingURL=ProjectSetup.d.ts.map