import { SearchQuery } from '@codemirror/search';
import { type EditorView, ViewPlugin, type ViewUpdate } from '@codemirror/view';
import type { MarkdownEditorMode } from "../../../bundle/index.js";
import type { EventMap } from "../../../bundle/Editor.js";
import type { RendererItem } from "../../../extensions/index.js";
import type { Receiver } from "../../../utils/index.js";
type SearchQueryConfig = ConstructorParameters<typeof SearchQuery>[0];
export interface SearchPanelPluginParams {
    anchorSelector: string;
    editorSelector?: string;
    inputDelay?: number;
    receiver?: Receiver<EventMap>;
}
export declare const SearchPanelPlugin: (params: SearchPanelPluginParams) => ViewPlugin<{
    readonly view: EditorView;
    readonly params: SearchPanelPluginParams;
    renderer: RendererItem;
    receiver: Receiver<EventMap> | undefined;
    panelOpened: boolean;
    searchState: SearchQuery | null;
    update(update: ViewUpdate): void;
    destroy(): void;
    createRenderer(): RendererItem;
    handleEditorModeChange({ mode }: {
        mode: MarkdownEditorMode;
    }): void;
    handleChange(config: SearchQueryConfig): void;
    handleClose(): void;
    handleSearchNext(): void;
    handleSearchPrev(): void;
    handleReplaceNext(): void;
    handleReplaceAll(): void;
}>;
export {};
