/**
 * Core init logic - project initialization and maintenance.
 *
 * Single source of truth for all init operations. CLI delegates here
 * (shared-core pattern).
 *
 * Handles:
 *   1. .cleo/ directory structure creation
 *   2. Core data files (config.json, tasks.db)
 *   3. Schema file installation (~/.cleo/schemas/)
 *   4. Sequence counter (SQLite schema_meta)
 *   5. Project info (.cleo/project-info.json)
 *   6. CAAMP injection into agent instruction files (AGENTS.md hub pattern)
 *   7. (removed — was MCP server installation)
 *   8. Agent definition installation (cleo-subagent)
 *   9. Core skill installation via CAAMP
 *  10. NEXUS project registration
 *  11. Project type detection (--detect)
 *  12. Injection refresh
 *  13. Git hook installation (commit-msg, pre-commit)
 *  14. GitHub issue/PR templates (.github/ directory)
 *
 * @task T4681
 * @task T4682
 * @task T4684
 * @task T4685
 * @task T4686
 * @task T4687
 * @task T4689
 * @task T4706
 * @task T4707
 * @epic T4663
 */
/** Options for the init operation. */
export interface InitOptions {
    /** Project name override. */
    name?: string;
    /** Overwrite existing files. */
    force?: boolean;
    /** Auto-detect project configuration. */
    detect?: boolean;
    /** Run codebase analysis and store findings to brain.db. */
    mapCodebase?: boolean;
}
/** Result of the init operation. */
export interface InitResult {
    initialized: boolean;
    directory: string;
    created: string[];
    skipped: string[];
    warnings: string[];
    updateDocsOnly?: boolean;
}
/**
 * Install cleo-subagent agent definition to ~/.agents/agents/.
 * @task T4685
 */
export declare function initAgentDefinition(created: string[], warnings: string[]): Promise<void>;
/**
 * No-op. Kept for API compatibility.
 * @task T4706
 */
export declare function initMcpServer(_projectRoot: string, _created: string[], _warnings: string[]): Promise<void>;
/**
 * Install CLEO core skills to the canonical skills directory via CAAMP.
 * @task T4707
 * @task T4689
 */
export declare function initCoreSkills(created: string[], warnings: string[]): Promise<void>;
/**
 * Register/reconcile project with NEXUS.
 * Uses nexusReconcile for idempotent handshake — auto-registers if new,
 * updates path if moved, confirms identity if unchanged.
 * @task T4684
 * @task T5368
 */
export declare function initNexusRegistration(projectRoot: string, created: string[], warnings: string[]): Promise<void>;
/**
 * Install GitHub issue and PR templates to .github/ if a git repo exists
 * but .github/ISSUE_TEMPLATE/ is not yet present.
 *
 * Idempotent: skips files that already exist. Never overwrites existing
 * templates — the project owner's customisations take precedence.
 *
 * @param projectRoot  Absolute path to the project root.
 * @param created      Array to push "created: ..." log entries into.
 * @param skipped      Array to push "skipped: ..." log entries into.
 */
export declare function installGitHubTemplates(projectRoot: string, created: string[], skipped: string[]): Promise<void>;
/**
 * Run update-docs only: refresh all injections without reinitializing.
 * Re-injects CLEO-INJECTION.md into all detected agent instruction files.
 *
 * @task T4686
 */
export declare function updateDocs(): Promise<InitResult>;
/**
 * Run full project initialization.
 *
 * Creates the .cleo/ directory structure, installs schemas, templates,
 * agent definitions, skills, and registers with NEXUS.
 *
 * @task T4681
 * @task T4682
 * @task T4684
 * @task T4685
 * @task T4686
 * @task T4687
 * @task T4689
 * @task T4706
 * @task T4707
 */
export declare function initProject(opts?: InitOptions): Promise<InitResult>;
/**
 * Check if auto-init is enabled via environment variable.
 * @task T4789
 */
export declare function isAutoInitEnabled(): boolean;
/**
 * Check if a project is initialized and auto-init if configured.
 * Returns { initialized: true } if ready, throws otherwise.
 * @task T4789
 */
export declare function ensureInitialized(projectRoot?: string): Promise<{
    initialized: boolean;
}>;
/**
 * Get the current CLEO/project version.
 * Checks VERSION file, then package.json.
 * @task T4789
 */
export declare function getVersion(projectRoot?: string): Promise<{
    version: string;
}>;
//# sourceMappingURL=init.d.ts.map