import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { AICustomizationManagementSection } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement"; import { IWelcomePageFeatures } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService"; import { IAICustomizationWorkspaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service"; import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service"; export interface IWelcomePageCallbacks { selectSection(section: AICustomizationManagementSection): void; selectSectionWithMarketplace(section: AICustomizationManagementSection): void; closeEditor(): void; /** * Prefill the chat input with a query. In the sessions window this * uses the sessions chat widget; in core VS Code it opens the chat view. * * @param options.newChat When true, always opens a new chat instead of * reusing the active one. */ prefillChat(query: string, options?: { isPartialQuery?: boolean; newChat?: boolean; }): void; } export interface IAICustomizationWelcomePageImplementation extends IDisposable { readonly container: HTMLElement; rebuildCards(visibleSectionIds: ReadonlySet): void; focus(): void; /** Called when the welcome page becomes visible after navigation — clears any transient state. */ reset?(): void; } /** * Renders the welcome page for the AI Customization Management Editor. */ export declare class AICustomizationWelcomePage extends Disposable { private readonly implementation; readonly container: HTMLElement; constructor(parent: HTMLElement, welcomePageFeatures: IWelcomePageFeatures | undefined, callbacks: IWelcomePageCallbacks, commandService: ICommandService, workspaceService: IAICustomizationWorkspaceService, hoverService: IHoverService); rebuildCards(visibleSectionIds: ReadonlySet): void; focus(): void; reset(): void; }