import { IRangeInfo, ISelectionInfo } from "../../common/selection";
export declare function clearCurrentSelection(win: Window): void;
/**
 * Retrieves the current selection information from a window, including the range and text.
 * This function first checks if a valid selection exists, and then processes and normalizes
 * the selection range. If a valid range is found, it is converted into a rangeInfo object
 * containing CSS selectors for the start and end containers.
 *
 * @param win - The window object containing the selection.
 * @param getCssSelector - A function that returns a CSS selector string for a given Element.
 * @returns An object with selection information (ISelectionInfo) or undefined if no valid selection is found.
 */
export declare function getCurrentSelectionInfo(win: Window, getCssSelector: (element: Element) => string | undefined): ISelectionInfo | undefined;
export declare function createOrderedRange(startNode: Node, startOffset: number, endNode: Node, endOffset: number): Range | undefined;
export declare function convertRange(range: Range, getCssSelector: (element: Element) => string | undefined): IRangeInfo | undefined;
export declare function convertRangeInfo(documant: Document, rangeInfo: IRangeInfo): Range | undefined;
export declare function normalizeRange(r: Range): Range;
