import { Graph } from './Graph';
import { Constructable } from '../types';
import { CircularDependenciesDetector } from './CircularDependenciesDetector';
export declare abstract class ObjectGraph<T = unknown> implements Graph {
    protected _props?: T | undefined;
    private propertyRetriever;
    get name(): string;
    constructor(_props?: T | undefined);
    retrieve<Dependency>(property: string, receiver?: unknown, detector?: CircularDependenciesDetector): Dependency | undefined;
    onBind(_target: any): void;
}
export declare function isGraph(object: Constructable<ObjectGraph> | any): object is Constructable<ObjectGraph>;
//# sourceMappingURL=ObjectGraph.d.ts.map