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;
    inputDelay?: number;
    receiver?: Receiver<EventMap>;
}
export declare const SearchPanelPlugin: (params: SearchPanelPluginParams) => ViewPlugin<{
    readonly view: EditorView;
    readonly params: SearchPanelPluginParams;
    anchor: HTMLElement | null;
    renderer: RendererItem | null;
    searchConfig: SearchQueryConfig;
    receiver: Receiver<EventMap> | undefined;
    setViewSearchWithDelay: (config: Partial<SearchQueryConfig>) => void;
    update(update: ViewUpdate): void;
    destroy(): void;
    setViewSearch(config: Partial<SearchQueryConfig>): void;
    handleEditorModeChange({ mode }: {
        mode: MarkdownEditorMode;
    }): void;
    handleChange(search: string): void;
    handleClose(): void;
    handleSearchNext(): void;
    handleSearchPrev(): void;
    handleSearchConfigChange(config: Partial<SearchQueryConfig>): void;
}>;
export {};
