/** * @author Thomas Barnekow * @license MIT */ import { IterableValueTransform } from '@tsdotnet/linq/dist/IterableTransform.js'; import { XContainer, XElement, XName } from '../internal.js'; /** * Returns a function that, for the elements of the source sequence passed to * that function, returns the concatenated sequences of descendants of such * elements in document order. * * If a name is provided, the resulting sequence contains only those ancestors * having a matching name. * * @typeParam T The type of the elements contained in the source sequence. * @param name The optional name used to filter the sequence of descendants. * @returns A function that will return a flat sequence of descendants in * document order. */ export declare function descendants(name?: XName | null): IterableValueTransform; /** * Returns a function that, for the elements of the source sequence passed to * that function, returns the concatenated sequences of descendants of such * elements, including the elements themselves, in document order. * * If a name is provided, the resulting sequence contains only those elements * and descendants having a matching name. * * @param name The optional name used to filter the sequence of descendants * and elements. * @returns A function that will return a flat sequence of ancestors, including * the elements, in document order. */ export declare function descendantsAndSelf(name?: XName | null): IterableValueTransform;