/** A dictionary class that maps string to ValueType */ export declare class Dictionary { private _dict; constructor(); /** Set an entry */ set(key: string, value: ValueType): void; /** Determine if the dictionary has an entry */ has(key: string): boolean; /** Delete an entry from the dictionary */ delete(key: string): void; /** Get a entry, if not found, return undefined */ get(key: string): ValueType; /** Iterate over the dictionary */ forEach(cb: (value: ValueType, key: string) => any): void; /** Create a copy of the dictionary */ clone(): Dictionary; } /** Shallow clone an object */ export declare function shallowClone(object: T): T; /** Attempt different names starting with prefix until check returns true */ export declare function attemptName(prefix: string, check: (candidate: string) => boolean): string;