/**
 * `instar init` — Initialize agent infrastructure.
 *
 * Two modes:
 *   instar init <project-name>   — Create a new project from scratch
 *   instar init                  — Augment an existing project
 *
 * Fresh install creates:
 *   <project-name>/
 *   ├── CLAUDE.md              — Agent instructions (standalone)
 *   ├── .instar/
 *   │   ├── AGENT.md           — Agent identity
 *   │   ├── USER.md            — Primary user context
 *   │   ├── MEMORY.md          — Persistent memory
 *   │   ├── config.json        — Agent configuration
 *   │   ├── jobs.json          — Job definitions
 *   │   ├── users.json         — User profiles
 *   │   ├── hooks/             — Behavioral guardrails
 *   │   ├── state/             — Runtime state
 *   │   ├── relationships/     — Relationship tracking
 *   │   └── logs/              — Server logs
 *   ├── .claude/
 *   │   ├── settings.json      — Hook configuration
 *   │   └── scripts/           — Health watchdog, etc.
 *   └── .gitignore
 *
 * Existing project adds .instar/ and appends to CLAUDE.md.
 */
interface InitOptions {
    dir?: string;
    name?: string;
    port?: number;
    interactive?: boolean;
    /** Create a standalone agent at ~/.instar/agents/<name>/ */
    standalone?: boolean;
    /** Skip prerequisite checks (for testing). When true, uses provided or default paths. */
    skipPrereqs?: boolean;
    /**
     * Which AI runtime(s) this install should support. Drives framework-aware
     * scaffolding (whose identity-shadow files are written; whether
     * `.claude/settings.json` is created; which CLI the setup wizard spawns).
     * Default `'claude-code'` preserves prior behavior. `'codex-cli'` produces
     * a Codex-only install with no `.claude/` writes. `'both'` enables
     * dual-runtime use.
     */
    framework?: 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli' | 'both';
}
/**
 * Resolve the user-facing `--framework` choice into the persisted
 * `enabledFrameworks` array stored in `.instar/config.json`. The migrator,
 * sentinel, and runtime spawn paths all read this single field. Default
 * (no flag) is `['claude-code']` so behavior is unchanged for existing
 * users and the historical `npx instar` flow.
 */
export declare function resolveEnabledFrameworks(choice: 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli' | 'both' | undefined): ReadonlyArray<'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli'>;
/**
 * Canonical set of frameworks instar knows how to install. Keep in sync with
 * `IntelligenceFramework`. Used to validate the `enabledFrameworks` array read
 * back from config.json: a hardcoded `f === 'claude-code' || f === 'codex-cli'`
 * filter silently DROPPED `gemini-cli`, so a gemini-only config produced an empty
 * filtered list and fell through to the `['claude-code']` default — which made
 * refreshHooksAndSettings scaffold a Claude `.claude/settings.json` into a
 * gemini-only agent (framework-issue: gemini-cli scaffold leak). Using a complete
 * known-framework guard makes this drift-proof as new frameworks are added.
 */
export declare const KNOWN_FRAMEWORKS: ReadonlyArray<'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli'>;
export declare function isKnownFramework(f: unknown): f is 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli';
/**
 * Main init entry point. Handles both fresh and existing project modes.
 */
export declare function initProject(options: InitOptions): Promise<void>;
/**
 * Install built-in skills for evolution system.
 * Only writes skill files that don't already exist (preserves customizations).
 */
export declare function installBuiltinSkills(skillsDir: string, port: number): void;
/**
 * Canonical bundled developer-skill toolkit — the authored allowlist (single
 * source of truth) of skills Instar uses to develop itself, installed to every
 * agent. The skill files live as tracked dirs under the repo's `skills/<slug>/`
 * (the one source, also referenced by SourceTreeGuard / crossModelReviewer /
 * PostUpdateMigrator); they ship via the `skills` entry in package.json files[].
 * Excludes document-only skills superseded by built-in infra (instar-telegram →
 * telegram-reply.sh, command-guard → dangerous-command-guard.sh hook, etc.).
 */
export declare const BUNDLED_DEV_SKILLS: readonly ["spec-converge", "instar-dev", "systematic-debugging", "smart-web-fetch", "knowledge-base", "instar-scheduler", "agent-memory", "agent-identity", "instar-identity", "credential-leak-detector"];
/**
 * Install the bundled dev-skill toolkit by copying each allowlisted skill's
 * directory from the packaged `skills/<slug>/` source into the agent's
 * `.claude/skills/<slug>/`. Install-if-missing (preserves user customizations);
 * recursive so scripts/ and templates/ subdirs come along.
 */
export declare function installBundledDevSkills(skillsDir: string): void;
export declare function getDefaultJobs(port: number): object[];
/**
 * Refresh hooks, Claude settings, and CLAUDE.md for an existing installation.
 * Called after updates to ensure new hooks and documentation are installed.
 * Re-writes all hook files (idempotent), merges new hooks into settings,
 * appends any missing sections to CLAUDE.md, and installs scripts for
 * configured integrations (e.g., Telegram relay).
 */
export declare function refreshHooksAndSettings(projectDir: string, stateDir: string): void;
export {};
//# sourceMappingURL=init.d.ts.map