/**
 * @author Thomas Barnekow
 * @license MIT
 */
import { XName, XNode } from './internal.js';
import { LinqIterableBase, LinqElements } from './internal.js';
/**
 * Provides additional methods specific to a `LinqIterable<XNode>`.
 */
export declare class LinqNodes extends LinqIterableBase<XNode, LinqNodes> {
    /**
     * Initializes a new instance with the given source sequence.
     *
     * @param source The source sequence.
     */
    constructor(source: Iterable<XNode>);
    ancestors(name?: XName | null): LinqElements;
    /**
     * Removes each `XNode` represented in this sequence from its parent
     * `XContainer`.
     */
    remove(): void;
}
/**
 * Converts an `Iterable<XNode>` into a LINQ-style iterable.
 *
 * @param source The source `Iterable<XNode>`.
 * @returns A `LinqNodes` instance.
 */
export declare function linqNodes(source: Iterable<XNode>): LinqNodes;
