import { Command, CommandRegistry, MenuModelRegistry } from '@theia/core'; import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar'; import { AIViewContribution } from '@theia/ai-core/lib/browser'; import { KeybindingRegistry } from '@theia/core/lib/browser'; import { AIConfigurationContainerWidget } from './ai-configuration-widget'; import { AIConfigurationSelectionService } from './ai-configuration-service'; import { AiConfigurationSelection } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category'; import { AiConfigurationCategoryRegistry } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category-registry'; import { AiConfigurationSelectionModel } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-selection-model'; export declare const AI_CONFIGURATION_TOGGLE_COMMAND_ID = "aiConfiguration:toggle"; export declare const OPEN_AI_CONFIG_VIEW: Command; export declare const OPEN_AI_CONFIG_VIEW_TOOLS: Command; export declare class AIConfigurationViewContribution extends AIViewContribution implements TabBarToolbarContribution { protected readonly aiConfigurationSelectionService: AIConfigurationSelectionService; protected readonly categoryRegistry: AiConfigurationCategoryRegistry; protected readonly selectionModel: AiConfigurationSelectionModel; constructor(); /** * Overrides {@link AIViewContribution.init}, which closes the view when AI features are disabled. * The AI Configuration view must instead stay open, so that turning AI off does not close the very * view holding the toggle that turns it back on. It stays reachable either way via the Manage (gear) * menu and `alt+a`, both of which are ungated. See eclipsesource/theia#316. */ protected init(): void; registerCommands(commands: CommandRegistry): void; /** Whether a `preferences:open` argument targets the AI features preference section or a preference in it. */ protected isAiConfigurationPreference(query: unknown): boolean; /** * Navigates the (already-open) view to `target`. An `ai-features.*` preference id (or the `ai-features` * section) opens the owning category focused on that row; any other value is treated as a category/tab * id; no target lands on General. This lets every AI-settings entry point go through * {@link OPEN_AI_CONFIG_VIEW} instead of `preferences:open`. */ protected navigateTo(target?: string): void; /** * Finds the navigation target for a preference by scanning the categories' deep-search index for the * setting row that anchors it (rows use the preference id as their `highlight.rowId`). Returns * `undefined` when no category surfaces the preference. */ protected resolvePreferenceTarget(preferenceId: string): AiConfigurationSelection | undefined; /** * Overrides {@link AIViewContribution.registerMenus} so the AI Configuration view is offered only from * the bottom-left Manage (gear) menu, mirroring the Settings UI. It is intentionally not added to the * View menu's "Views" submenu. The Manage entry (and the alt+a keybinding) keep it reachable even while * AI is disabled, which is where AI gets re-enabled. See eclipsesource/theia#316. */ registerMenus(menus: MenuModelRegistry): void; registerKeybindings(keybindings: KeybindingRegistry): void; registerToolbarItems(registry: TabBarToolbarRegistry): void; } //# sourceMappingURL=ai-configuration-view-contribution.d.ts.map