#import <Foundation/Foundation.h>

{{>licenceInfo}}

extern NSString * {{classPrefix}}PercentEscapedStringFromString(NSString *string);

extern NSString * const k{{classPrefix}}ApplicationJSONType;

@protocol {{classPrefix}}Sanitizer <NSObject>

/**
 * Sanitize object for request
 *
 * @param object The query/path/header/form/body param to be sanitized.
 */
- (id) sanitizeForSerialization:(id) object;

/**
 * Convert parameter to NSString
 */
- (NSString *) parameterToString: (id) param;

/**
 * Convert date to NSString
 */
+ (NSString *)dateToString:(id)date;

/**
 * Detects Accept header from accepts NSArray
 *
 * @param accepts NSArray of header
 *
 * @return The Accept header
 */
-(NSString *) selectHeaderAccept:(NSArray *)accepts;

/**
 * Detects Content-Type header from contentTypes NSArray
 *
 * @param contentTypes NSArray of header
 *
 * @return The Content-Type header
 */
-(NSString *) selectHeaderContentType:(NSArray *)contentTypes;

@end

@interface {{classPrefix}}Sanitizer : NSObject <{{classPrefix}}Sanitizer>



@end
