#import <Foundation/Foundation.h>

@interface UGUser : NSObject

@property NSString *username;
@property NSString *email;
@property NSString *uuid;
@property NSString *picture;

@end
