import { type Profile } from '../profiles/index.js'; import type { FileWriter } from '../services/file-writer.js'; export type OpenCodeSetupOptions = { cwd: string; profiles: Profile[]; writer: FileWriter; isSalesforceProject: boolean; }; /** * Configures the `opencode` runtime using the pointer/reuse model. * * Permanent rules REUSE the shared root `AGENTS.md` (same file/generator as * codex) — no new permanent-rules file is created for opencode. * * On-demand skills are referenced, not copied: the root `opencode.json` gets a * `skills.paths` entry pointing at the canonical `.setup-agents/skills/` dir. * The pre-existing `plugin` key (and any other keys) are preserved on merge. * * Subagents are thin `.opencode/agents/.md` stubs (frontmatter * `mode: subagent`) that REFERENCE skills by name rather than inlining them. * * Neutral registry rules are stored per-rule at `.opencode/rules/.md` and * loaded through exact `opencode.json.instructions` entries. The directory is * storage only; setup does not rely on OpenCode discovering it. */ export declare function setupOpenCode(opts: OpenCodeSetupOptions): void;