/** filename: {{&sdknameLower}}/{{&sdkname}}API.h **/
#import <Foundation/Foundation.h>
#import "{{&sdkname}}.h"

@interface {{&sdkname}}API : NSObject {
	CachePolicy _cachePolicyType;
	NSNumber *_cachePolicyDuration;
}

+ ({{&sdkname}}API *) getAPI:(NSString *)path withMethod:(NSString *)method;

@property NSString *url;
@property NSString *method;

- (CachePolicy) cachePolicyType;
- (void) setCachePolicyType:(CachePolicy)val;

- (NSNumber *) cachePolicyDuration;
- (void) setCachePolicyDuration:(NSNumber *)val;

- (id) init:(NSString *)url withMethod:(NSString *)method;
- (NSDictionary *) execute;
- (NSDictionary *) execute:(NSDictionary *)options;
- (NSDictionary *) executeWith:(void (^)(NSError *error, NSDictionary *result, NSHTTPURLResponse *response))callback;
- (NSDictionary *) execute:(NSDictionary *)options with:(void (^)(NSError *error, NSDictionary *result, NSHTTPURLResponse *response))callback;

@end
