import { f as SettingsListData, l as Scope, m as SettingsResult, r as EditOptions } from "../../../types-lRv_6IzV.js";
import "../../../interfaces-BOV8jLcZ.js";
import { _ as ShortcutConfig, p as ProviderConfig, y as XlingConfig } from "../../../config-Dcd8WufG.js";
import { t as BaseAdapter } from "../../../base-D1dmjxMJ.js";

//#region src/services/settings/adapters/xling.d.ts
/**
* Xling adapter for managing prompt providers at ~/.claude/xling.json
*/
declare class XlingAdapter extends BaseAdapter<XlingConfig> {
  #private;
  readonly toolId: "xling";
  /**
  * Resolve config path - cross-platform
  * macOS/Linux: ~/.claude/xling.json
  * Windows: %USERPROFILE%\.claude\xling.json
  */
  resolvePath(scope: Scope): string;
  /**
  * Validate scope - only "user" is supported
  */
  validateScope(scope: Scope): boolean;
  /**
  * Read Xling configuration
  * Returns default template if file doesn't exist
  */
  readConfig(configPath: string): XlingConfig;
  /**
  * Write Xling configuration with secure permissions
  * Unix: chmod 600
  * Windows: ACL to restrict access to current user only
  */
  protected writeConfig(configPath: string, data: XlingConfig, backup?: boolean): void;
  /**
  * Open xling.json in the specified IDE
  */
  edit(scope: Scope, options: EditOptions): Promise<SettingsResult>;
  /**
  * List all providers
  */
  list(scope: Scope): Promise<SettingsListData>;
  /**
  * Get all configured shortcuts
  */
  getShortcuts(scope: Scope): Record<string, ShortcutConfig>;
  /**
  * Add a new provider
  */
  addProvider(scope: Scope, provider: ProviderConfig): Promise<SettingsResult>;
  /**
  * Remove a provider by name
  */
  removeProvider(scope: Scope, name: string): Promise<SettingsResult>;
  /**
  * Update a provider
  */
  updateProvider(scope: Scope, name: string, updates: Partial<ProviderConfig>): Promise<SettingsResult>;
  /**
  * Set default model
  */
  setDefaultModel(scope: Scope, model: string): Promise<SettingsResult>;
  /**
  * Check file permissions and warn if not 600
  */
  checkPermissions(configPath: string): {
    secure: boolean;
    permissions: string;
  };
}
//#endregion
export { XlingAdapter };