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

#ifndef __Issue12403_H__
#define __Issue12403_H__

@import Foundation;
#include "ref.h"
#include "Universe.objc.h"


@protocol Issue12403Parsable;
@class Issue12403Parsable;

@protocol Issue12403Parsable <NSObject>
- (NSString* _Nonnull)fromJSON:(NSString* _Nullable)jstr;
- (NSString* _Nonnull)toJSON:(NSError* _Nullable* _Nullable)error;
@end

@class Issue12403Parsable;

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

- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (NSString* _Nonnull)fromJSON:(NSString* _Nullable)jstr;
- (NSString* _Nonnull)toJSON:(NSError* _Nullable* _Nullable)error;
@end

#endif
