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

#ifndef __GoIssue10788_H__
#define __GoIssue10788_H__

#include <Foundation/Foundation.h>

@class GoIssue10788TestStruct;
@protocol GoIssue10788TestInterface;
@class GoIssue10788TestInterface;

@interface GoIssue10788TestStruct : NSObject {
}
@property(strong, readonly) id _ref;

- (id)initWithRef:(id)ref;
- (NSString*)value;
- (void)setValue:(NSString*)v;
@end

@protocol GoIssue10788TestInterface
- (void)doSomeWork:(GoIssue10788TestStruct*)s;
- (void)multipleUnnamedParams:(int)p0 p1:(NSString*)p1 p2:(int64_t)p2;
@end

#endif
