/**
 * @aexol/spectral — Public API for extension authors.
 *
 * Import types and utilities from this package when writing .spectral extensions.
 *
 * ## Quick Start
 *
 * ```ts
 * import type { ExtensionAPI, ToolDefinition } from "@aexol/spectral";
 *
 * export default function activate(ext: ExtensionAPI): void {
 *   ext.registerTool({
 *     name: "my_tool",
 *     label: "My Tool",
 *     description: "Does something useful.",
 *     parameters: { type: "object", properties: {}, additionalProperties: false },
 *     async execute(_id, params) {
 *       return { content: [{ type: "text", text: "Done!" }], details: {} };
 *     },
 *   });
 * }
 * ```
 *
 * ## Event Handling
 *
 * ```ts
 * import type { ExtensionAPI, BeforeAgentStartEvent } from "@aexol/spectral";
 *
 * export default function activate(ext: ExtensionAPI): void {
 *   ext.on("before_agent_start", (event, ctx) => {
 *     // inspect or modify the system prompt
 *     return { systemPrompt: event.systemPrompt + "\nExtra instructions..." };
 *   });
 * }
 * ```
 */
export type { ExtensionAPI, ToolDefinition } from "./sdk/coding-agent/index.js";
export type { AfterProviderResponseEvent, AgentEndEvent, AgentStartEvent, BashToolCallEvent, BashToolResultEvent, BeforeAgentStartEvent, BeforeProviderRequestEvent, ContextEvent, CustomToolCallEvent, CustomToolResultEvent, EditToolCallEvent, EditToolResultEvent, ExtensionEvent, FindToolCallEvent, FindToolResultEvent, GrepToolCallEvent, GrepToolResultEvent, InputEvent, LsToolCallEvent, LsToolResultEvent, MessageEndEvent, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ReadToolCallEvent, ReadToolResultEvent, ResourcesDiscoverEvent, SessionBeforeCompactEvent, SessionBeforeForkEvent, SessionBeforeSwitchEvent, SessionBeforeTreeEvent, SessionCompactEvent, SessionEvent, SessionShutdownEvent, SessionStartEvent, SessionTreeEvent, ToolCallEvent, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolExecutionUpdateEvent, ToolResultEvent, TurnEndEvent, TurnStartEvent, UserBashEvent, WriteToolCallEvent, WriteToolResultEvent, } from "./sdk/coding-agent/index.js";
export type { BeforeAgentStartEventResult, BeforeProviderRequestEventResult, ContextEventResult, InputEventResult, ResourcesDiscoverResult, SessionBeforeCompactResult, SessionBeforeForkResult, SessionBeforeSwitchResult, SessionBeforeTreeResult, ToolCallEventResult, UserBashEventResult, } from "./sdk/coding-agent/index.js";
export type { ExtensionCommandContext, ExtensionContext, ReplacedSessionContext, } from "./sdk/coding-agent/index.js";
export type { ProviderConfig, ProviderModelConfig, } from "./sdk/coding-agent/index.js";
export { defineTool } from "./sdk/coding-agent/index.js";
export { isBashToolResult, isEditToolResult, isFindToolResult, isGrepToolResult, isLsToolResult, isReadToolResult, isToolCallEventType, isWriteToolResult, } from "./sdk/coding-agent/index.js";
export type { AgentToolResult, AgentToolUpdateCallback, BuildSystemPromptOptions, CompactOptions, ExecOptions, ExecResult, InputSource, ToolExecutionMode, } from "./sdk/coding-agent/index.js";
export type { Extension, ExtensionActions, ExtensionError, ExtensionFactory, ExtensionFlag, ExtensionHandler, ExtensionRuntime, ExtensionShortcut, ExtensionUIContext, LoadExtensionsResult, RegisteredCommand, RegisteredTool, ResolvedCommand, ToolInfo, } from "./sdk/coding-agent/index.js";
//# sourceMappingURL=index.d.ts.map