import type { CliAdapter } from './types.js';
/** Seed CLI (`@bytedance-seed/claude-code`, binary `seed`) is a ByteDance fork
 *  of Claude Code: identical flags, slash commands, and on-disk session layout
 *  (per-project JSONL transcripts, `sessions/<pid>.json`, `tasks/` fd locks,
 *  keybindings.json, settings.json hooks). It differs only in the binary name,
 *  its auth, and its data root — which it isolates to a
 *  `.claude-runtime` directory *inside its own install package* (rather than
 *  `~/.claude`), respecting `CLAUDE_CONFIG_DIR` when set.
 *
 *  So Seed reuses the entire Claude-family adapter; the only work here is
 *  locating that `.claude-runtime` so botmux watches exactly where Seed writes. */
/** Derive Seed's `.claude-runtime` data root from the resolved binary.
 *
 *  `which seed` returns an ephemeral fnm/nvm shim (e.g.
 *  `/run/user/.../fnm_multishells/<pid>_.../bin/seed`); realpath follows the
 *  symlink chain to the package's `dist/cli.js`, whose package root is two
 *  levels up. `.claude-runtime` sits at that package root. Deriving from the
 *  binary on every spawn means a node/fnm switch (which moves the binary)
 *  auto-tracks to the matching runtime dir — and it equals the path a bare
 *  `seed` uses by default, so botmux-spawned and hand-started Seed sessions
 *  share one config (settings, history, cross-resume).
 *
 *  Falls back to `~/.claude-runtime` only if realpath fails (unusual install
 *  layout) — Seed still runs, but the JSONL bridge may target the wrong dir;
 *  we log so it's diagnosable rather than silently degraded. */
export declare function deriveSeedDataDir(bin: string): string;
export declare function createSeedAdapter(pathOverride?: string): CliAdapter;
export declare const create: typeof createSeedAdapter;
//# sourceMappingURL=seed.d.ts.map