import type { Context as ClientContext } from '@deepseek-ai/cordis'; import type { SettingsScope, SettingsScopeSpec } from '@deepseek-ai/dsh-client-ui-settings/client'; import { type DesktopLauncherKey } from './locales.ts'; export { DesktopLauncherSettingsCard, DesktopLauncherSettingsCardController } from './DesktopLauncherSettingsCard.tsx'; export type { DesktopLauncherSettings, DesktopLauncherSettingsCardFace, DesktopLauncherSettingsCardState } from './DesktopLauncherSettingsCard.tsx'; declare module '@deepseek-ai/dsh-client-ui-slots' { interface LocaleNamespaceMap { /** desktop-launcher settings-card copy. */ 'desktop-launcher': DesktopLauncherKey; } interface SlotMap { /** * The child slot the Web UI plugin group declares; this card registers * into the group instead of the top-level `settings.plugin.item` list. * Spelled here with the same shape so this package can register without * depending on the sibling UI package. */ 'web-ui.plugin.item': { kind: 'list'; scope: 'root'; owner: SettingsPluginItemOwnerProps; }; } } /** Owner share of a plugin card (the section supplies nothing). */ export interface SettingsPluginItemOwnerProps { /** Marker field: card owner props are intentionally empty. */ children?: never; } declare module '@deepseek-ai/cordis' { interface Context { /** * Optional rc.6 compatibility binder provided by dsh-web-settings; * absent when that group plugin is not installed, so callers fall back to * the official settings scope. */ webUiSettings?: { bind(spec: SettingsScopeSpec): SettingsScope; }; } } /** Services required by this plugin. */ export declare const inject: string[]; /** * Register the desktop-launcher surface: the plugin settings card over the * `desktop-launcher` namespace, contributed to the plugin-configuration * group, plus the floating shutdown button. * @param ctx - client root context. */ export declare function apply(ctx: ClientContext): void;