import { Opaque } from '@glimmer/util';
import { RootReference as IRootReference } from '../types';
import { PathReference as IPathReference, RevisionTag } from '@glimmer/reference';
export default class RootReference<T> implements IRootReference<T>, IPathReference<T> {
    private object;
    private chains;
    tag: RevisionTag;
    constructor(object: T);
    value(): T;
    update(object: T): void;
    get<U>(prop: string): IPathReference<U>;
    chainFor<U>(prop: string): IPathReference<U>;
    path(string: any): any;
    referenceFromParts(parts: string[]): IPathReference<Opaque>;
    label(): string;
}
