// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

export { createDispatcher, Dispatcher, CommandResult } from "./dispatcher.js";
export { IndexManager } from "./context/indexManager.js";
export type { DispatcherOptions } from "./context/commandHandlerContext.js";
export type { CommandCompletionResult } from "./command/completion.js";
export type {
    AppAgentProvider,
    AppAgentInstaller,
    ConstructionProvider,
} from "./agentProvider/agentProvider.js";
export type {
    ClientIO,
    IAgentMessage,
    NotifyExplainedData,
    RequestId,
} from "./context/interactiveIO.js";
export type { Timing, PhaseTiming, RequestMetrics } from "./utils/metrics.js";
export type {
    TemplateEditConfig,
    TemplateData,
} from "./translation/actionTemplate.js";
export type {
    IndexingServiceRegistry,
    IndexingServiceInfo,
} from "./context/indexingServiceRegistry.js";
export { DefaultIndexingServiceRegistry } from "./context/indexingServiceRegistry.js";
