// Objective-C API for talking to issue12403 Go package.
//   gobind -lang=objc issue12403
//
// File is generated by gobind. Do not edit.

#ifndef __GoIssue12403_H__
#define __GoIssue12403_H__

#include <Foundation/Foundation.h>
#include "GoUniverse.h"

@protocol GoIssue12403Parsable;
@class GoIssue12403Parsable;

@protocol GoIssue12403Parsable
- (NSString*)fromJSON:(NSString*)jstr;
- (BOOL)toJSON:(NSString**)ret0_ error:(NSError**)error;
@end

@class GoIssue12403Parsable;

@interface GoIssue12403Parsable : NSObject <GoIssue12403Parsable> {
}
@property(strong, readonly) id _ref;

- (id)initWithRef:(id)ref;
- (NSString*)fromJSON:(NSString*)jstr;
- (BOOL)toJSON:(NSString**)ret0_ error:(NSError**)error;
@end

#endif
