import { Range } from './range.js'; import { Position } from './position.js'; import { Interval } from './interval.js'; export declare const toTree: (range: Range) => { name: string; children: any[]; }; export declare const essentials: (range: Range) => any; export declare const descendants: (range: Range, filter: (range: Range) => boolean) => Range[]; export declare const filter: (range: Range, condition: (range: Range) => boolean) => Range[]; export declare const smooth: (siblings: Range[], fn: (pos: Position) => Interval, filter: (range: Range) => boolean) => Range[]; export interface RangeBuilder { build(start?: Position): Range; } export declare class IntervalBuilder implements RangeBuilder { name: string; metadata: any; children: RangeBuilder[]; constructor(name: string, metadata: any, ...children: RangeBuilder[]); build(start?: Position): Range; } export declare class TokenBuilder implements RangeBuilder { content: string; constructor(content: string); build(start?: Position): Range; } export declare const interval: (name: string, metadata: any, ...ranges: RangeBuilder[]) => IntervalBuilder; export declare const token: (content: string) => TokenBuilder; export declare const tokenstring: (data: any) => string; //# sourceMappingURL=utils.d.ts.map