/**
 * Slash-command wiring for the OpenRouter adapter.
 *
 * Two responsibilities, both backed by the OR library's {@link createCommandLoader}:
 *
 * 1. **Listing** — the loader's `list()` feeds the synthetic `slash_commands`
 *    event the message adapter emits for the frontend's slash menu. Plugin
 *    command roots and skill convergence (skills surfacing as commands) are
 *    folded in here so the menu matches what the model can actually run.
 * 2. **Resolution** — slash commands are HOST-invoked, not model-invoked. The
 *    host must turn a typed `/foo bar` into the command's rendered body BEFORE
 *    the turn, then send that body as the prompt. {@link resolveCommandPrompt}
 *    wraps the run's prompt so any user message beginning with `/` is matched via
 *    `CommandLoader.resolve(input)` and replaced with the rendered body. Inputs
 *    that don't match a known command (e.g. a literal `/path/to/file`) pass
 *    through unchanged — `resolve()` returns `undefined` for unknown names.
 */
import { type CommandLoader, type LoadedPlugin, type SkillLoader, type OpenRouterAgentRunOptions } from "@wolpertingerlabs/openrouter-agent-harness";
import type { OrAdapterLogger } from "./pluginAdapter.js";
/**
 * Build a command loader scoped to `cwd`, the loaded plugins' command roots, and
 * (optionally) the skill loader for converged skill→command menu entries. The
 * library scans `<pluginRoot>/commands/` for each plugin root supplied.
 */
export declare function buildCommandLoader(cwd: string, loadedPlugins: readonly LoadedPlugin[], skillLoader?: SkillLoader, logger?: OrAdapterLogger): CommandLoader;
type OrPrompt = OpenRouterAgentRunOptions["prompt"];
/**
 * Wrap the run's prompt so leading-`/` user messages resolve to their rendered
 * command body. A string prompt is resolved eagerly (the caller is already in an
 * async context); an `AsyncIterable` prompt is wrapped in a lazy transform
 * generator that resolves each user message as it's pulled.
 */
export declare function resolveCommandPrompt(prompt: OrPrompt, loader: CommandLoader, sessionId: string, cwd: string): Promise<OrPrompt>;
export {};
//# sourceMappingURL=commandAdapter.d.ts.map