import type { SettingsCategory } from "@edenapp/types"; import type { SettingsManager } from "./SettingsManager"; /** * SettingsHandler - IPC layer for settings operations * * Provides multiple sets of endpoints: * 1. Regular endpoints - require "settings/rw" permission, scoped to caller's appId * 2. Superuser endpoints - require "settings/superuser" permission for cross-namespace access * * Eden system settings use appId "com.eden" via superuser endpoints. */ export declare class SettingsHandler { private settingsManager; constructor(settingsManager: SettingsManager); /** * Get a setting value (scoped to caller's app) */ handleGet(args: { key: string; appId?: string; _callerAppId: string; }): Promise<{ value: string | undefined; }>; /** * Set a setting value (scoped to caller's app) */ handleSet(args: { key: string; value: string; _callerAppId: string; }): Promise<{ success: boolean; }>; /** * List all settings keys (scoped to caller's app) */ handleList(args: { _callerAppId: string; }): Promise<{ keys: string[]; }>; /** * Get all settings with values (scoped to caller's app) */ handleGetAll(args: { _callerAppId: string; }): Promise<{ settings: Record; }>; /** * Reset a setting to default (scoped to caller's app) */ handleReset(args: { key: string; schema?: SettingsCategory[]; _callerAppId: string; }): Promise<{ success: boolean; }>; /** * Get a setting from any app's namespace (superuser only) */ handleGetSuperuser(args: { appId: string; key: string; }): Promise<{ value: string | undefined; }>; /** * Set a setting in any app's namespace (superuser only) */ handleSetSuperuser(args: { appId: string; key: string; value: string; }): Promise<{ success: boolean; }>; /** * List all settings in any app's namespace (superuser only) * @param showRestricted - If true, includes settings the current user cannot access (hidden by default) */ handleListSuperuser(args: { appId: string; showRestricted?: boolean; }): Promise<{ keys: string[]; }>; /** * Get all settings with values for any app (superuser only) * @param showRestricted - If true, includes settings the current user cannot access (hidden by default) */ handleGetAllSuperuser(args: { appId: string; showRestricted?: boolean; }): Promise<{ settings: Record; }>; /** * Reset a setting for any app (superuser only) */ handleResetSuperuser(args: { appId: string; key: string; schema?: SettingsCategory[]; }): Promise<{ success: boolean; }>; } //# sourceMappingURL=SettingsHandler.d.ts.map