import { g as ToolId, m as SettingsResult, p as SettingsPayload } from "../../types-lRv_6IzV.js";
import { n as SettingsAdapter } from "../../interfaces-BOV8jLcZ.js";

//#region src/services/settings/dispatcher.d.ts

/**
* Applies SOLID principles:
* - OCP: add new tools by registering adapters in the constructor
* - DIP: depends on the SettingsAdapter interface
* - SRP: only handles dispatching, not business logic
*/
declare class SettingsDispatcher {
  #private;
  constructor();
  /**
  * Execute the requested settings action
  */
  execute(payload: SettingsPayload): Promise<SettingsResult>;
  /**
  * Register a new adapter (extension point)
  */
  registerAdapter(adapter: SettingsAdapter): void;
  /**
  * Return all supported tool IDs
  */
  getSupportedTools(): ToolId[];
}
//#endregion
export { SettingsDispatcher };