#import <Foundation/Foundation.h>

@interface NSDictionary (ARTDictionaryUtil)

- (NSString *)artString:(id)key;
- (NSNumber *)artNumber:(id)key;
- (NSDate *)artTimestamp:(id)key;
- (NSArray *)artArray:(id)key;
- (NSDictionary *)artDictionary:(id)key;
- (NSInteger)artInteger:(id)key;
- (BOOL)artBoolean:(id)key;

- (id)artTyped:(Class)cls key:(id)key;

/**
 * Maps dictionary values using the provided block function.
 * @param f Block function that transforms each value
 * @return New dictionary with transformed values
 */
- (NSDictionary *)artMap:(id(^)(id key, id value))f;

@end
