/**
* @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 track-changes/ui/suggestioncontroller
*/
import { type ObservableMixinConstructor } from "@ckeditor/ckeditor5-utils";
import type { Editor } from "@ckeditor/ckeditor5-core";
import { type Suggestion } from "../suggestion.js";
import type { BaseSuggestionThreadView } from "./view/basesuggestionthreadview.js";
import type { CommentThreadController } from "@ckeditor/ckeditor5-comments";
declare const SuggestionControllerBase: ObservableMixinConstructor;
/**
* A controller for a suggestion.
*
* It takes a suggestion thread view, listens to events fired by that view and based on them performs actions
* on the provided suggestion model.
*/
export declare class SuggestionController extends SuggestionControllerBase {
	model: Suggestion;
	view: BaseSuggestionThreadView;
	commentThreadController: CommentThreadController;
	constructor(editor: Editor, model: Suggestion, view: BaseSuggestionThreadView, commentThreadController: CommentThreadController);
	/**
	* Accepts the suggestion that belongs to this controller.
	*/
	acceptSuggestion(): void;
	/**
	* Discards the suggestion that belongs to this controller.
	*/
	discardSuggestion(): void;
	/**
	* Destroys `SuggestionController` instance.
	*/
	destroy(): void;
}
export {};
