import type { RichTextEditor } from '..';
import { ArrowKeyButton, type MappingConfiguration, ToolbarButton } from './types';
/**
 * Page object for the `nimble-rich-text-editor` component.
 */
export declare class RichTextEditorPageObject {
    private readonly richTextEditorElement;
    constructor(richTextEditorElement: RichTextEditor);
    editorSectionHasChildNodes(): boolean;
    getEditorSectionFirstElementChildClassName(): string;
    clickEditorShortcutKeys(shortcutKey: string, isShiftKey: boolean): Promise<void>;
    pressEnterKeyInEditor(): Promise<void>;
    pressEscapeKeyInEditor(): Promise<void>;
    pressArrowKeyInEditor(arrowButton: ArrowKeyButton): Promise<void>;
    pressShiftEnterKeysInEditor(): Promise<void>;
    pressTabKeyInEditor(): Promise<void>;
    pressShiftTabKeysInEditor(): Promise<void>;
    /**
     * In testing environment, when clicking on the footer button, it may not persist in the same state if any editor transaction occurs in between.
     * This behavior is likely due to dynamic modifications of formatting button states based on cursor positions during editor transactions.
     * Setting the "force" parameter to true activates the formatting button state; when set to false, it deactivates the state.
     * If unset, the state toggles by interacting with it once.
     */
    toggleFooterButton(button: ToolbarButton, force?: boolean): Promise<void>;
    clickUserMentionButton(): Promise<void>;
    getMentionButtonIcon(buttonIndex: number): string | undefined;
    getMentionButtonTitle(buttonIndex: number): string;
    getMentionButtonLabel(buttonIndex: number): string;
    getButtonCheckedState(button: ToolbarButton): boolean;
    getButtonTabIndex(button: ToolbarButton): number;
    spaceKeyActivatesButton(button: ToolbarButton): void;
    enterKeyActivatesButton(button: ToolbarButton): void;
    pasteToEditor(text: string): Promise<void>;
    pasteHTMLToEditor(htmlString: string): Promise<void>;
    setEditorTextContent(value: string): Promise<void>;
    setCursorPosition(position: number): Promise<void>;
    replaceEditorContent(value: string): Promise<void>;
    sliceEditorContent(from: number, to: number): Promise<void>;
    getEditorLastChildAttribute(attribute: string): string;
    isMentionListboxOpened(): Promise<boolean>;
    getEditorMentionViewAttributeValues(attribute: string): string[];
    getEditorFirstChildTagName(): string;
    getEditorFirstChildTextContent(): string;
    getEditorTextContents(): string[];
    getEditorTagNames(): string[];
    getMarkdownRenderedTagNames(): string[];
    getEditorLeafContents(): string[];
    getEditorTagNamesWithClosingTags(): string[];
    getFormattingButtonTextContent(toolbarButton: ToolbarButton): string;
    getFormattingButtonTitle(toolbarButton: ToolbarButton): string;
    isRichTextEditorActiveElement(): boolean;
    getEditorTabIndex(): string;
    setFooterHidden(footerHidden: boolean): Promise<void>;
    isFooterHidden(): boolean;
    setDisabled(disabled: boolean): Promise<void>;
    isButtonDisabled(button: ToolbarButton): boolean;
    getPlaceholderValue(): string;
    getParsedHtmlFromMarkdown(markdown: string, mappings?: MappingConfiguration[]): string;
    focusOutEditor(): Promise<void>;
    getMentionListboxItemsName(): string[];
    getSelectedOption(): string;
    clickMentionListboxOption(index: number): Promise<void>;
    moveCursorToStart(): void;
    getCursorPosition(): number;
    private getEditorSection;
    private getFooter;
    private getTiptapEditor;
    private getFormattingButton;
    private getUserMentionButton;
    private getMentionButtons;
    private getMentionListbox;
    private getAllListItemsInMentionBox;
    private getEditorLastChildElement;
    private getParserMentionConfigForUser;
    private focusEditorIfMentionListboxOpened;
}
