/**
* @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
*/
import { type FocusableView, type ViewCollection } from "@ckeditor/ckeditor5-ui";
import type { BaseCommentThreadView } from "@ckeditor/ckeditor5-comments";
import type { BaseSuggestionThreadView } from "@ckeditor/ckeditor5-track-changes";
/**
* A keystroke used to move focus from the editor content to a current annotation that has a marker
* under user's selection.
*/
export declare const FOCUS_ANNOTATION_KEYSTROKE: "Ctrl+Shift+E";
/**
* This helper initializes focus navigation within a thread using a keyboard.
*
* * It takes care of added and removed (dynamic) views in the thread.
* * It takes care of the Enter key support (entering a thread).
* * It takes care of the Esc key support (leaving a thread or whole sidebar).
* * It takes care of the arrow key events being fired for the sidebar to navigate between individual threads.
*
* @param threadView A thread view in which the keyboard navigation will be enabled.
* @param focusCycleableViews A collection of focusable views withing a thread.
*/
export declare function setupThreadKeyboardNavigation(threadView: BaseCommentThreadView | BaseSuggestionThreadView, focusCycleableViews: ViewCollection<FocusableView>): void;
/**
* An event fired when the user presses the Esc key while the entire thread is focused.
*/
export type ThreadEscapeEvent = {
	name: "escape";
	args: [];
};
/**
* An event fired when the user presses the arrow up key while the entire thread is focused.
*/
export type ThreadArrowUpEvent = {
	name: "arrowup";
	args: [];
};
/**
* An event fired when the user presses the arrow down key while the entire thread is focused.
*/
export type ThreadArrowDownEvent = {
	name: "arrowdown";
	args: [];
};
