import type { Hooks, PluginInput, ToolDefinition } from "@opencode-ai/plugin";
import type { SeedAgentConfig } from "../config/schema.js";
export type ToolsRecord = Record<string, ToolDefinition>;
export type PluginContext = {
    input: PluginInput;
    config: SeedAgentConfig;
    modelBySession: Map<string, {
        providerID?: string;
        modelID?: string;
        variant?: string;
    }>;
    commandStateBySession: Map<string, SeedCommandSessionState>;
};
export type SeedCommandSessionState = {
    mode: "task_goal" | "readonly_control" | "mutating_control";
    command: string;
    source: string;
    set_at: string;
    expires_at_ms: number;
};
export type SeedPluginInterface = Hooks;
