import { StateNode } from './StateNode'; import { StateValue, EntryExitStateArrays, EventType, EventObject } from './types'; export interface StateTreeOptions { resolved?: boolean; } export declare class StateTree { stateNode: StateNode; stateValue: StateValue | undefined; parent?: StateTree | undefined; root: StateTree; nodes: Record; isResolved: boolean; private reentryNodes; constructor(stateNode: StateNode, stateValue: StateValue | undefined, options?: StateTreeOptions, parent?: StateTree | undefined); readonly done: boolean; getDoneData(context: TContext, event: EventObject): any; readonly atomicNodes: StateNode[]; getDoneEvents(entryStateNodes?: Set): EventObject[]; readonly resolved: StateTree; readonly paths: string[][]; readonly absolute: StateTree; readonly nextEvents: EventType[]; clone(): StateTree; combine(tree: StateTree): StateTree; readonly value: StateValue; matches(parentValue: StateValue): boolean; getEntryExitStates(prevTree?: StateTree): EntryExitStateArrays; getEntryStates(): StateNode[]; getExitStates(): StateNode[]; addReentryNode(reentryNode: StateNode): void; }