export interface Point {
    container: Node;
    offset: number;
}
declare namespace ranges {
    function isRange(object: any): object is Range;
    function isPoint(object: any): object is Point;
    function clonePoint(point: Point): Point;
    function pointEquals(point1: Point, point2: Point): boolean;
    function breakRangeBefore(range: Range, node: Node): Range;
    function breakRangeAfter(range: Range, node: Node): Range;
    function positionBefore(node: Node): Point;
    function positionAfter(node: Node): Point;
    function positionAtStart(node: Node): Point;
    function positionAtEnd(node: Node): Point;
    function rangeStart(range: Range): Point;
    function rangeEnd(range: Range): Point;
    function startNode(range: Range): Node;
    function endNode(range: Range): Node;
    function staticStartNode(range: Range): Node;
    function staticEndNode(range: Range): Node;
    function nodeAtPoint(point: Point): Node;
    function containsPoint(range: Range, point: Point): boolean;
    function isPrecedingPoint(refPoint: Point, testPoint: Point): boolean;
    function textPositionFromPoint(doc: Document, x: number, y: number): Point;
    function findPointInRanges(rangesList: Range[], point: Point, reverse?: boolean): number;
    function extractNodeContents(node: Node): DocumentFragment;
    function appendNodeContents(srcNode: Node, dstNode: Node): void;
}
export default ranges;
