import type { Adapters, Root, Key, ObserverSyncCallback, Obj, Options } from "./types/index.js";
export declare class Observer {
    static adapters: Adapters;
    static interfaces: string[];
    static rootInterface: Root;
    static updateOptions(options: Partial<Options>): void;
    static tokenize(keypath: string, root: Root): any[];
    static get(key: Key, obj: Obj): any;
    static set(active: boolean, key: Key, obj: Obj, callback: ObserverSyncCallback): void;
    keypath: string;
    callback: ObserverSyncCallback;
    objectPath: Obj[];
    obj: Obj;
    target: Obj;
    key: Key;
    tokens: Key[];
    constructor(model: Obj, keypath: string, callback: ObserverSyncCallback);
    parse(): {
        key: Key;
        tokens: Key[];
    };
    realize(): any;
    sync(): void;
    value(): any;
    setValue(value: any): void;
    unobserve(): void;
    getRootObject(obj: Obj): any;
}
