import { UUID } from './vendor/generics/uuid.js'; import { DataToken } from './datatoken.js'; import { Event } from './event.js'; import { Position } from './position.js'; import { Range } from './range.js'; export declare class Interval extends Range { private _end; private _firstChild?; private _lastChild?; constructor(start: Position, name: string, metadata?: any, instanceId?: UUID, parent?: Range, leftSibling?: Range, rightSibling?: Range, end?: Position, firstChild?: Range, lastChild?: Range); /** * Exclusive end position */ get end(): Position; protected set end(end: Position); get firstChild(): Range | undefined; private set firstChild(value); get lastChild(): Range | undefined; private set lastChild(value); /** * Renders the content of this interval as text. */ get text(): string; get length(): number; children(): Generator; read(): Array; type(): string; appendChild(child: Range): void; swapChild(outgoing: Range, incoming: Range): void; equals(other: any): boolean; private childrenEquals; static builder(start: Event.Start): Interval.Builder; } export declare namespace Interval { class Builder { private rootInterval; private currentInterval; done: boolean; constructor(start: Event.Start); build(): Interval | Error; consume(event: Event | DataToken): Interval.Builder; private consumeStart; private consumeEnd; private consumeToken; } } //# sourceMappingURL=interval.d.ts.map