luxlabs header browser preview


@class NSString, NSSet, NSOrderedSet, NSMutableDictionary, NSObject, EMAccountRepository, EFPromise, NSMapTable;
@protocol OS_os_log, EFCancelable;

@interface EMMailboxRepository : EMRepository <EFLoggable, EMMailboxChangeObserver, EMMailboxTypeResolver> {
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _mailboxesPromiseLock;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock;
    NSMutableDictionary *_mailboxesByObjectID;
}

@property (class, readonly) NSObject<OS_os_log> *log;

@property (retain) id<EFCancelable> registrationCancelable;
@property (readonly) NSOrderedSet *mailboxesIfAvailable;
@property (retain, nonatomic) EFPromise *mailboxesPromise;
@property (retain, nonatomic) NSMapTable *observerMap;
@property (readonly, nonatomic) EMAccountRepository *accountRepository;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (readonly, nonatomic) NSSet *allMailboxObjectIDs;

+ (id)remoteInterface;

- (void)dealloc;
- (id)initInternal;
- (void).cxx_destruct;
- (void)mailboxListChanged:(id)a0;
- (void)performQuery:(id)a0 completionHandler:(id /* block */)a1;
- (id)mailboxObjectIDsForMailboxType:(long long)a0;
- (id)_filterIDsFromMailbox:(id)a0 withQuery:(id)a1;
- (id)_mailboxesFuture;
- (void)_prepareMailboxes:(id)a0;
- (void)_restartObservingMailboxChangesIfNecessary;
- (void)_startObservingMailboxChangesIfNecessary;
- (id)initWithRemoteConnection:(id)a0 accountRepository:(id)a1;
- (id)mailboxForObjectID:(id)a0;
- (id)mailboxIfAvailableForObjectID:(id)a0;
- (long long)mailboxTypeForMailboxObjectID:(id)a0;
- (id)mailboxesForObjectIDs:(id)a0;
- (id)mailboxesIfAvailableForObjectIDs:(id)a0;
- (id)performMailboxChangeAction:(id)a0;
- (id)performQuery:(id)a0 withObserver:(id)a1;
- (void)refreshMailboxList;
- (void)refreshQueryWithObserver:(id)a0;
- (id)remoteAllMailboxObjectIDs;
- (id)remoteMailboxObjectIDsForMailboxType:(long long)a0;
- (long long)remoteMailboxTypeForMailboxObjectID:(id)a0;

@end