import { h as SettingsResult, i as EditOptions, p as SettingsListData, u as Scope } from "../../../types-KR94Pl4P.js"; import "../../../interfaces-CpcX0CPB.js"; import { C as XlingConfig, m as ProviderConfig, x as ShortcutConfig } from "../../../config-DDAC7XCF.js"; import { t as BaseAdapter } from "../../../base-CJfC5KqX.js"; //#region src/services/settings/adapters/xling.d.ts /** * Xling adapter for managing prompt providers at ~/.claude/xling.json */ declare class XlingAdapter extends BaseAdapter { #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): void; /** * Open xling.json in the specified IDE */ edit(scope: Scope, options: EditOptions): Promise; /** * List all providers */ list(scope: Scope): Promise; /** * Get all configured shortcuts */ getShortcuts(scope: Scope): Record; /** * Add a new provider */ addProvider(scope: Scope, provider: ProviderConfig): Promise; /** * Remove a provider by name */ removeProvider(scope: Scope, name: string): Promise; /** * Update a provider */ updateProvider(scope: Scope, name: string, updates: Partial): Promise; /** * Set default model */ setDefaultModel(scope: Scope, model: string): Promise; /** * Switch profile (set default model) */ switchProfile(scope: Scope, profile: string): Promise; /** * Get all models from all providers for interactive selection */ getAllModels(scope: Scope): Array<{ label: string; model: string; provider: string; }>; /** * Get current default model */ getDefaultModel(scope: Scope): string | undefined; /** * Check file permissions and warn if not 600 */ checkPermissions(configPath: string): { secure: boolean; permissions: string; }; } //#endregion export { XlingAdapter };