import { ObjectGraph } from './graph/ObjectGraph';
import { GraphInternals, ServiceLocator } from './types';
import { GraphMiddleware } from './graph/registry/GraphMiddleware';
export default class Obsidian {
    obtain<T extends ObjectGraph<P>, P>(Graph: new (...args: P[]) => T, props?: P): ServiceLocator<Omit<T, GraphInternals>>;
    inject<T extends object>(target: T, graph?: ObjectGraph): object;
    addGraphMiddleware(middleware: GraphMiddleware): void;
    clearGraphMiddlewares(): void;
    clearGraphs(): void;
}
//# sourceMappingURL=Obsidian.d.ts.map