export declare class TypeID<T> {
    readonly id: string;
    constructor(id: string);
}
export declare class DependentPair {
    private readonly tid;
    private readonly value;
    private constructor();
    cast<T>(expected: TypeID<T>): undefined | T;
    static create<T>(tid: TypeID<T>, value: T): DependentPair;
}
export declare class PropertyBag {
    private mapping;
    set<T>(tid: TypeID<T>, value: T): void;
    get<T>(tid: TypeID<T>): undefined | T;
    delete<T>(tid: TypeID<T>): void;
    entries(): IterableIterator<DependentPair>;
}
//# sourceMappingURL=index.d.ts.map