/**
 * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * @module find-and-replace/findandreplacestate
 */
import type { Model } from 'ckeditor5/src/engine.js';
import { Collection } from 'ckeditor5/src/utils.js';
import type { ResultType } from './findandreplace.js';
declare const FindAndReplaceState_base: {
    new (): import("ckeditor5/src/utils.js").Observable;
    prototype: import("ckeditor5/src/utils.js").Observable;
};
/**
 * The object storing find and replace plugin state for a given editor instance.
 */
export default class FindAndReplaceState extends FindAndReplaceState_base {
    /**
     * A collection of find matches.
     *
     * @observable
     */
    results: Collection<ResultType>;
    /**
     * Currently highlighted search result in {@link #results matched results}.
     *
     * @readonly
     * @observable
     */
    highlightedResult: ResultType | null;
    /**
     * Searched text value.
     *
     * @readonly
     * @observable
     */
    searchText: string;
    /**
     * Replace text value.
     *
     * @readonly
     * @observable
     */
    replaceText: string;
    /**
     * Indicates whether the matchCase checkbox has been checked.
     *
     * @readonly
     * @observable
     */
    matchCase: boolean;
    /**
     * Indicates whether the matchWholeWords checkbox has been checked.
     *
     * @readonly
     * @observable
     */
    matchWholeWords: boolean;
    /**
     * Creates an instance of the state.
     */
    constructor(model: Model);
    /**
     * Cleans the state up and removes markers from the model.
     */
    clear(model: Model): void;
}
export {};
