/** * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * @module ai/aireviewcore/aireviewcoreui */ import { type Context, type Editor, ContextPlugin, type PluginDependenciesOf } from "@ckeditor/ckeditor5-core"; import { type AIReviewCheck } from "./model/aireviewcheck.js"; import { type AIReviewCheckRunUpdatedEvent } from "./model/aireviewcheckrun.js"; import { type AIReviewCheckResultChange } from "./model/aireviewcheckresultchange.js"; import { AITabs } from "../aitabs/aitabs.js"; import { type AIReviewCoreView } from "./ui/aireviewcoreview.js"; export declare const AI_REVIEW_MODE_UI_EVENT_NAMES: readonly ["getReviewCheckList", "runReviewCheck", "abortReviewStream", "toggleDiff", "acceptAllChanges", "leaveReviewCoreResultList", "activateChange", "deactivateChange", "acceptChange", "dismissChange", "learnMore", "finishReview", "retryReview"]; export declare abstract class AIReviewCoreUI extends ContextPlugin { /** * @inheritDoc */ static get requires(): PluginDependenciesOf<[AITabs]>; /** * @inheritDoc */ static override get isOfficialPlugin(): true; /** * @inheritDoc */ static override get isPremiumPlugin(): true; /** * @inheritDoc */ constructor(context: Context | Editor); /** * @inheritDoc */ init(): void; /** * @inheritDoc */ override destroy(): void; /** * Sets the available checks in the AI Review Core list view. */ setAvailableChecks(checks: ReadonlyArray): void; showReviewCheckList(): void; /** * Shows the result of a review check run. */ showCheckRunResults(data: AIReviewCheckRunUpdatedEvent["args"][0]): void; showCheckRunResult(result: AIReviewCheckResultChange): void; showGeneralResultsErrorView(): void; showGeneralReviewCoreErrorView(errorMessage?: string): void; showChunkErrorView(): void; showUnsupportedInlineChangeView(): void; setCheckResultTitle(title: string, subtitle?: string): void; setAcceptAllEnabled(isEnabled: boolean): void; setActiveStateInResults(id: string): void; resetActiveStateInResults(): void; updateChangeState(id: string, status: AIReviewCheckResultChange["status"]): void; showReviewCompletedView(): void; showActionsWhenResultIsReady(): void; showNoChangesView(): void; hideActionsWhenResultIsReady(): void; showChangeBalloon(change: AIReviewCheckResultChange, target: () => HTMLElement | null, domEvent: MouseEvent | undefined, eventType: "click" | "hover", limiter?: HTMLElement, viewportOffset?: { top?: number; left?: number; bottom?: number; right?: number; }): void; hideChangeBalloon(): void; hideDiffInBalloon(): void; showDiffInBalloon(): void; getChangeElement(changeId: string): HTMLElement | null; deactivateChange(): void; abstract createMainView(): AIReviewCoreView; abstract registerTab(aiTabs: AITabs): void; } export type AIReviewCoreUIGetReviewCheckListEvent = { name: "getReviewCheckList"; args: []; }; export type AIReviewCoreUILeaveReviewEvent = { name: "leaveReview"; args: []; }; export type AIReviewCoreUIRetryReviewEvent = { name: "retryReview"; args: []; };