import { Creator, Dependency, Creates, Arguments } from "./types";
import { Token } from "./token";
declare class Dependencies {
    private dependencies;
    private reservations;
    add<T extends Creator>(token: Token<Creates<T>>, creator: T, args: Arguments<T>, shared?: boolean, reserved?: boolean): void;
    get<T>(token: Token): Dependency<T>;
    has(token: Token): boolean;
    reserve(token: Token): void;
    cancelReservation(token: Token): void;
    isReserved(token: Token): boolean;
}
export { Dependencies };
