/**
*
*
* Tree-like structure feature extractor
* @template DT extraction unit data type
*/
export interface Extractor
{
filter: (predicate: (data: DT) => boolean) => Extractor;
map: (mapper: (data: DT) => MT) => Extractor;
chain: (mapper: (data: DT) => Extractor) => Extractor[];
get: () => DT[];
}
/**
*
*
* @template NodeT tree node type
* @param {(node: NodeT) => NodeT[]} nodesAccessor how to access child nodes
* @param {(root: NodeT)} root tree root (curried)
*/
export declare const getExtractor: (nodesAccessor: (node: NodeT) => NodeT[]) => (root: NodeT) => Extractor;
//# sourceMappingURL=extractor-infra.d.ts.map