import type { SettingsDescriptor, SettingsForms } from '@deepseek-ai/dsh-settings'; /** * The dsh settings service surface this plugin uses. * * dsh 0.1.7 replaced the namespace `register()`/scope model with profile-entry * forms: the service derives a form from the plugin entry's exported `Config`, * `describe()` reads the resolved entry config, and `update()`/`replace()` write * it back. The plugin declares its own `Config`, so the entry config *is* the * dsh-ears settings document and this module is the only place that talks to * that service. */ export type EarsSettingsProvider = SettingsForms; /** Read one resolved dsh-ears entry form, or undefined while it is unavailable. */ export declare function findEarsSettingsForm(provider: EarsSettingsProvider | undefined, redactSecrets: boolean): SettingsDescriptor | undefined; /** * Read the resolved settings the plugin acts on. * * The resolved entry config carries schema defaults, the composition base layer, * and the user layer, with `role('secret')` values intact. `userLayerAvailable` * reports whether the profile holds an explicit user override, which decides * whether a canonicalizing migration may rewrite the entry config; `revision` * is the version of that document, which every write built from this read must * still be standing on. */ export declare function readEarsSettingsRaw(provider: EarsSettingsProvider | undefined): { raw: unknown; userLayerAvailable: boolean; revision: number | undefined; }; /** Merge one nested settings patch into the profile's user layer. */ export declare function updateEarsSettingsPatch(provider: EarsSettingsProvider | undefined, patch: object, expectedRevision: number | undefined): Promise; /** Replace the profile's user layer with one complete nested settings section. */ export declare function replaceEarsSettingsSection(provider: EarsSettingsProvider | undefined, section: object, expectedRevision: number | undefined): Promise;