import type { IdeAdapter, IdeId } from './ide-types.js'; /** Get the adapter for a given IDE id. Throws on unsupported IDE. */ export declare function getAdapter(ide: IdeId): IdeAdapter; /** * Non-throwing twin of `getAdapter`. Returns `undefined` for an id with * no registered adapter instead of raising. * * For callers that hold an IDE-shaped string which is NOT guaranteed to * be an `IdeId`: `detectIdeFromEnv` returns `IdeKind` (`'claude-code' | * 'trae' | 'opencode' | 'unknown'`), and `'opencode'` has no adapter * registered. Casting to `IdeId` and calling `getAdapter` would throw * inside a pure formatting/threshold path — the caller wants "no * adapter → fall back", not an exception. */ export declare function tryGetAdapter(ide: string): IdeAdapter | undefined; /** All registered adapter ids (insertion order). */ export declare function listAdapterIds(): readonly IdeId[]; /** * Help text for every `--ide ` option, derived from the registry. * * It used to be a hand-written literal — `"target adapter id (claude-code | * trae); default: auto-detect from env/cwd"` — copy-pasted into six option * declarations across `hooks-commands.ts` and `statusline-commands.ts`. By the * time anyone read it the registry had nine adapters, so the help named two of * the nine values the option accepts and stayed silent about the other seven. * A help string that enumerates a set it does not own cannot be kept true by * discipline; deriving it here is the only form that cannot drift. * * Note for whoever is tempted to point the help at `peaks adapter list` * instead: that command lists USER-REGISTERED vendor adapters from * `.peaks/runtime/adapters.json` (a different registry, empty on a fresh * project). It is not this set. The nine ids below have no CLI surface of * their own; `peaks ide model --current` is the closest read-only viewer and * it reports one adapter, not the list. */ export declare function resolveIdeOptionHelp(): string; /** All registered adapters (insertion order). */ export declare function listAdapters(): readonly IdeAdapter[]; /** * Test seam: register or replace an adapter. Used by future slices when adding * a new IDE. Caller is responsible for ensuring the adapter is well-formed. */ export declare function _setAdapterForTesting(ide: IdeId, adapter: IdeAdapter): void; /** Test seam: reset to built-in defaults. */ export declare function _resetAdaptersForTesting(): void;