// DrawerController.h
#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

extern NSString * const DrawerDidSelectItemNotification; // posted when an item is tapped

@interface DrawerController : UIViewController

@property (nonatomic, strong, readonly) UIViewController *mainViewController;
@property (nonatomic, strong, readonly) UIViewController *drawerViewController;

// ✅ New initializer: pass drawer + client props directly
- (instancetype)initWithDrawerViewController:(UIViewController *)drawer
                                   clientID:(NSString *)clientID
                                 clientCode:(NSString *)clientCode
                                  userToken:(NSString *)user_token;

// Drawer actions
- (void)openDrawer;
- (void)closeDrawer;
- (void)toggleDrawer;
- (BOOL)isDrawerOpen;

// Optional: keep setters if props can change later
@property (nonatomic, copy) NSString *ClientID;
@property (nonatomic, copy) NSString *ClientCode;
@property (nonatomic, copy) NSString *user_token;

@end

NS_ASSUME_NONNULL_END
