/*
 *     Generated by class-dump 3.1.2.
 *
 *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
 */

struct CGColor;

struct CGPoint {
    float x;
    float y;
};

struct CGRect {
    struct CGPoint origin;
    struct CGSize size;
};

struct CGSize {
    float width;
    float height;
};

struct CPRecord;

struct IONotificationPort;

struct _NSRange {
    unsigned int location;
    unsigned int length;
};

struct _NSZone;

struct __CFBoolean;

struct __CFDictionary;

struct __CFRunLoopSource;

struct __CTServerConnection;

struct __GSEvent;

struct __GSFont;

struct _opaque_pthread_mutex_t {
    long __sig;
    char __opaque[40];
};

typedef struct {
    int _field1;
    int _field2;
    id _field3;
    id _field4;
    float _field5;
    int _field6;
    SEL _field7;
    id _field8;
} CDAnonymousStruct1;

/*
 * File: Applications/MobileMail.app/MobileMail
 */

@protocol MFUserAgent
- (id)queryUserForPasswordWithMessage:(id)fp8 title:(id)fp12 remember:(char *)fp16;
- (BOOL)showCertificateTrustPanelForError:(id)fp8 certificates:(id)fp12;
- (int)informUserOfError:(id)fp8;
- (BOOL)queryUserForYesNoWithMessage:(id)fp8 title:(id)fp12 yesTitle:(id)fp16 noTitle:(id)fp20;
- (int)runAlertPanelWithTitle:(id)fp8 defaultTitle:(id)fp12 alternateTitle:(id)fp16 otherTitle:(id)fp20 message:(id)fp24;
- (void)runNonModalAlertPanelForObject:(id)fp8 withError:(id)fp12;
- (void)dismissNonModalAlertPanelForObject:(id)fp8;
- (void)queryUserForBigMessageAction:(id)fp8 userResponse:(int *)fp12;
- (BOOL)queryUserIfNeededToCreateMailbox:(id)fp8 orChooseNewMailbox:(id *)fp12;
- (id)queryUserToSelectMailbox:(id)fp8;
- (void)storeBeingInvalidated:(id)fp8;
- (BOOL)shouldInvalidateMailbox:(id)fp8;
- (BOOL)isTerminating;
- (BOOL)wakingFromSleep;
- (BOOL)personWithEmailIsOnline:(id)fp8;
- (BOOL)openTemporaryAttachments:(id)fp8 applicationBundle:(id)fp12;
- (id)focusedMessage;
- (void)autofetchAccount:(id)fp8 mailboxUid:(id)fp12;
@end

@protocol MailViewParentController <NSObject>
- (void)pop;
- (void)setTransitionReplacesTopItem:(BOOL)fp8;
- (void)transitionToViewForController:(id)fp8 context:(id)fp12;
- (void)dismissAlertSheetAnimating:(BOOL)fp8;
- (void)displayAlertSheet:(id)fp8 buttonBar:(id)fp12;
- (void)displayAlertSheet:(id)fp8;
- (id)navigationBar;
@end

@protocol MessageMiniMallObserver
- (void)miniMallMessageCountChanged:(id)fp8;
- (void)miniMallAddedMessages:(id)fp8;
- (void)miniMallMessageChangedAtIndex:(id)fp8;
- (void)miniMallStartFetch:(id)fp8;
- (void)miniMallIndexChanged:(id)fp8;
- (void)miniMallSetCurrentIndex:(id)fp8;
@end

@protocol NSObject
- (BOOL)isEqual:(id)fp8;
- (unsigned int)hash;
- (Class)superclass;
- (Class)class;
- (id)self;
- (struct _NSZone *)zone;
- (id)performSelector:(SEL)fp8;
- (id)performSelector:(SEL)fp8 withObject:(id)fp12;
- (id)performSelector:(SEL)fp8 withObject:(id)fp12 withObject:(id)fp16;
- (BOOL)isProxy;
- (BOOL)isKindOfClass:(Class)fp8;
- (BOOL)isMemberOfClass:(Class)fp8;
- (BOOL)conformsToProtocol:(id)fp8;
- (BOOL)respondsToSelector:(SEL)fp8;
- (id)retain;
- (oneway void)release;
- (id)autorelease;
- (unsigned int)retainCount;
- (id)description;
@end

@protocol SafeObserverProtocol
- (id)willBeReleased;
@end

@interface MailAppController : UIApplication <MFUserAgent>
{
    UIWindow *_window;
    AttachmentAnimationWindow *_attachmentAnimationWindow;
    UITransitionView *_transitionLayer;
    MailTransitionView *_overlayTransitionLayer;
    UITransitionView *_navAndTransitionLayer;
    UINavigationBar *_navigationBar;
    int _currentViewType;
    MailViewController *_currentViewController;
    MailViewController *_previousViewController;
    MailViewController *_viewControllers[13];
    MailViewController *_delayedControllerToDismiss;
    NSArray *_savedSuspendedControllers;
    int _savedViewType;
    MailButtonBar *_buttonBar;
    UIAlertSheet *_alertSheet;
    NSMutableArray *_pendingAlerts;
    NSURL *_savedURL;
    NSURL *_telephoneURL;
    UIView *_modalishProgressLayer;
    id _modalishDelegate;
    unsigned int _isSwitchingView:1;
    unsigned int _isDisplayingButtonBar:1;
    unsigned int _isAnimatingInTransitionLayerDisabled:1;
    unsigned int _composeIsPanel:1;
    unsigned int _initializedThisSession:1;
    unsigned int _showComposeWhenAttachmentsAreAvailable:1;
    unsigned int _isInitializingUI:1;
    unsigned int _fullScreenOverlay:1;
    unsigned int _shouldRestoreAutosavedMessageOnResume:1;
    unsigned int _isRotating:1;
    unsigned int _is24HourTime:1;
    struct CGRect _contentRect;
    NSArray *_navigationItems;
    MailAccount *_selectedAccount;
    int _messageDisplayHeader;
    NSMutableSet *_networkMonitors;
    struct _opaque_pthread_mutex_t _activityLock;
    struct __CFDictionary *_emptiedTrashTimestamps;
    struct __CFDictionary *_mailboxUnreadCounts;
    NSMutableSet *_displayedErrorDescriptions;
    NSMutableSet *_sslErrorAccountsDisplayed;
    double _lastWakeTime;
    Message *_focusedMessage;
    UIWindow *_backingWindow;
}

- (id)init;
- (void)initializeBaseUI;
- (void)initializeNavAndTransitionUI;
- (id)accountToSelect;
- (void)_selectDefaultMailbox;
- (void)_switchToComposeWithAutosavedMessage;
- (void)tearDownUI;
- (void)applicationDidFinishLaunchingSuspended:(id)fp8;
- (void)startListeningForNotifications;
- (void)delayedStartupNetworking;
- (void)applicationDidFinishLaunching:(id)fp8;
- (void)_updateStatus:(id)fp8 forMonitor:(id)fp12;
- (void)_updateStatus:(id)fp8;
- (void)_mailDelivered:(id)fp8;
- (void)significantTimeChange;
- (void)userDefaultsDidChange:(id)fp8;
- (void)_releaseAllAccountConnections;
- (void)_releaseAllForcedConnections;
- (void)_mailboxUserInfoDidChange:(id)fp8;
- (void)_resetToDefaultState;
- (int)linesOfText:(BOOL)fp8;
- (int)linesOfText;
- (void)_resetLinesOfText;
- (BOOL)shouldPromptForPhoneCall;
- (void)openURL:(id)fp8 asPanel:(BOOL)fp12;
- (void)applicationOpenURL:(id)fp8;
- (void)_windowFadeInDidStop;
- (void)_windowFadeOutDidStop;
- (void)applicationOpenToShortCut:(id)fp8;
- (void)applicationOpenURL:(id)fp8 asPanel:(BOOL)fp12;
- (void)applicationOpenURL:(id)fp8 asPanel:(BOOL)fp12 useSelectedAccount:(BOOL)fp16;
- (void)composeControllerFinishedLoadingInitialAttachments:(id)fp8;
- (void)attachmentAnimationWindowDidFinishAnimating:(id)fp8;
- (void)_composePanelURLAnimationCompleted:(id)fp8 finished:(BOOL)fp12;
- (void)emptyCaches;
- (void)_updateTimePreferences;
- (BOOL)is24HourTime;
- (id)nameOfDefaultImageToUpdateAtSuspension;
- (void)cleanUpAfterSuspend;
- (BOOL)applicationSuspend:(struct __GSEvent *)fp8 settings:(id)fp12;
- (void)applicationWillSuspendForEventsOnly;
- (void)applicationWillResumeForEventsOnly;
- (void)didReceiveMemoryWarning;
- (void)didReceiveUrgentMemoryWarning;
- (void)_restoreSavedState;
- (void)applicationResume:(struct __GSEvent *)fp8;
- (void)applicationWillTerminate;
- (void)willSleep;
- (void)dealloc;
- (Class)controllerClassForViewType:(int)fp8;
- (struct CGSize)sizeForControllerClass:(Class)fp8;
- (id)_viewControllerForType:(int)fp8 context:(id)fp12;
- (BOOL)_transitionToLayerForController:(id)fp8 usingTransition:(int)fp12;
- (BOOL)_transitionToLayerForController:(id)fp8 transition:(BOOL)fp12 goingBackwards:(BOOL)fp16;
- (struct CGPoint)transitionView:(id)fp8 endOriginForToView:(id)fp12 forTransition:(int)fp16 defaultOrigin:(struct CGPoint)fp20;
- (struct CGPoint)transitionView:(id)fp8 beginOriginForToView:(id)fp12 forTransition:(int)fp16 defaultOrigin:(struct CGPoint)fp20;
- (void)switchToView:(int)fp8 context:(id)fp12 performTransition:(BOOL)fp16;
- (void)switchToView:(int)fp8 context:(id)fp12;
- (id)_accountsToDisplay;
- (int)_updateAccountsViewVisibilityIfNecessary:(BOOL)fp8;
- (void)_performBackEndOneShotInitialization;
- (void)_networkConfigurationChanged:(id)fp8;
- (void)networkActivityStarted:(id)fp8;
- (void)networkActivityEnded:(id)fp8;
- (void)setStatusBarShowsProgress:(BOOL)fp8;
- (void)setStatusBarShowsMailProgress:(id)fp8;
- (void)_hideStatusBarProgress;
- (id)buttonBar;
- (id)_buttonBarItemList;
- (void)dismissCompose:(id)fp8;
- (void)_selectedAccountWasDeleted:(id)fp8;
- (void)loadMoreOfCurrentMessage:(id)fp8;
- (void)loadAttachment:(id)fp8 pluginClient:(id)fp12;
- (unsigned int)fetchRecentWindow;
- (unsigned int)fetchOlderWindow;
- (id)copyStoresToIgnoreForAutoFetch:(id)fp8;
- (id)copyStoresCurrentlyVisible:(id)fp8;
- (void)updateAutoFetchState:(BOOL)fp8;
- (BOOL)isRotating;
- (void)setIsRotating:(BOOL)fp8;
- (id)navigationBar;
- (id)window;
- (void)navigationBar:(id)fp8 poppedItem:(id)fp12;
- (void)_popUntilNavigationItemForViewIsTop:(int)fp8 withoutTransition:(BOOL)fp12;
- (void)popNavigationItemWithoutTransition;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)transitionToFullOverlay:(id)fp8 withUITransitionEffect:(int)fp12;
- (void)transitionToFullOverlay:(id)fp8;
- (void)popLayerIntoOverlay:(id)fp8;
- (void)displayCardViewerForABPerson:(struct CPRecord *)fp8 immediate:(BOOL)fp12 context:(id)fp16;
- (void)displayCardViewerForABPerson:(struct CPRecord *)fp8 immediate:(BOOL)fp12;
- (void)displayCardViewerForNewlyResolvedABPerson:(struct CPRecord *)fp8;
- (void)displayCardViewerForAddressAtom:(id)fp8;
- (void)performDeferredDismissScheduledViewController;
- (void)deferredDismissCurrentViewController;
- (void)dismissCardViewer;
- (void)showOverlay:(id)fp8 maintainingButtonBar:(BOOL)fp12 hidingOtherView:(BOOL)fp16 fullScreen:(BOOL)fp20;
- (void)dismissOverlayAnimating:(BOOL)fp8;
- (void)dismissOverlay;
- (void)dismissOverlayRevealingOtherView;
- (void)transitionViewDidComplete:(id)fp8;
- (void)displayAlertSheet:(id)fp8;
- (void)displayAlertSheet:(id)fp8 considerButtonBar:(BOOL)fp12;
- (void)dismissAlertSheetAnimating:(BOOL)fp8;
- (void)didDismissAlertSheet:(id)fp8;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)animateLayer:(id)fp8 toRect:(struct CGRect)fp12 relativeToLayer:(id)fp28;
- (void)animator:(id)fp8 stopAnimation:(id)fp12;
- (void)deleteButtonClicked:(id)fp8;
- (void)transferButtonClicked:(id)fp8;
- (void)composeButtonClicked:(id)fp8;
- (void)replyButtonClicked:(id)fp8;
- (void)infoButtonClicked:(id)fp8;
- (void)fetchButtonClicked:(id)fp8;
- (void)fetchCurrentlyVisibleMailbox:(id)fp8;
- (void)cancelButtonClicked:(id)fp8;
- (void)plusButtonClicked:(id)fp8;
- (void)editButtonClicked:(id)fp8;
- (void)doneButtonClicked:(id)fp8;
- (id)buttonBarEventTargetForDraggingOutItem:(CDAnonymousStruct1 *)fp8;
- (id)currentViewController;
- (void)_setCurrentViewController:(id)fp8;
- (void)setViewControllerForType:(int)fp8 suspendPrevious:(BOOL)fp12 context:(id)fp16;
- (void)setSelectedAccount:(id)fp8;
- (id)selectedAccount;
- (void)setFetchDate:(id)fp8 forMailbox:(id)fp12;
- (id)fetchDateForMailbox:(id)fp8;
- (void)emptyTrashForAccount:(id)fp8;
- (id)_sanitizedErrorForError:(id)fp8 forAccount:(id)fp12;
- (void)displayError:(id)fp8 forAccount:(id)fp12 mode:(int)fp16;
- (void)_displayError:(id)fp8 context:(id)fp12;
- (BOOL)_shouldDisplayError:(id)fp8 forAccount:(id)fp12 mode:(int)fp16;
- (void)_didDisplayError:(id)fp8;
- (void)resetDisplayedErrors;
- (id)queryUserForPasswordWithMessage:(id)fp8 title:(id)fp12 remember:(char *)fp16;
- (BOOL)showCertificateTrustPanelForError:(id)fp8 certificates:(id)fp12;
- (int)informUserOfError:(id)fp8;
- (BOOL)queryUserForYesNoWithMessage:(id)fp8 title:(id)fp12 yesTitle:(id)fp16 noTitle:(id)fp20;
- (int)runAlertPanelWithTitle:(id)fp8 defaultTitle:(id)fp12 alternateTitle:(id)fp16 otherTitle:(id)fp20 message:(id)fp24;
- (void)runNonModalAlertPanelForObject:(id)fp8 withError:(id)fp12;
- (void)dismissNonModalAlertPanelForObject:(id)fp8;
- (void)queryUserForBigMessageAction:(id)fp8 userResponse:(int *)fp12;
- (BOOL)queryUserIfNeededToCreateMailbox:(id)fp8 orChooseNewMailbox:(id *)fp12;
- (id)queryUserToSelectMailbox:(id)fp8;
- (void)storeBeingInvalidated:(id)fp8;
- (BOOL)shouldInvalidateMailbox:(id)fp8;
- (BOOL)isTerminating;
- (BOOL)wakingFromSleep;
- (BOOL)personWithEmailIsOnline:(id)fp8;
- (BOOL)openTemporaryAttachments:(id)fp8 applicationBundle:(id)fp12;
- (void)systemWillSleep;
- (void)systemDidWake;
- (void)focusedMessageDidChange:(id)fp8;
- (id)focusedMessage;
- (void)autofetchAccount:(id)fp8 mailboxUid:(id)fp12;

@end

@interface MailboxContentViewController : MailViewController <MessageMiniMallObserver>
{
    MailboxUid *_mailbox;
    MessageMiniMall *_mall;
    unsigned int _lastMessageCount;
    Message *_lastMessage;
    MessageViewingContext *_viewingContext;
    unsigned int _indexOfVisibleMessage;
    BOOL _didDisplayMessageWhileSuspended;
    unsigned int _suspendedIndexToDisplay;
    UITable *_table;
    NSTimer *_purgeLoadOlderTimer;
    struct __CFDictionary *_commentCache;
    MailCompositionContext *_pendingCompositionContext;
    MessageViewController *_childController;
    ActivityMonitor *_fetchActivityMonitor;
    unsigned int _resuming:1;
    unsigned int _sortAscending:1;
    unsigned int _scrolledAwayFromSelection:1;
    unsigned int _wasScrolling:1;
    unsigned int _isShowingLoadMoreIndicator:1;
    unsigned int _shouldPinMaxOnLoad:1;
    unsigned int _isOutgoingMailbox:1;
    unsigned int _isFetchingMoreForDelete:1;
    unsigned int _blockTableSelectionChanges:1;
}

+ (BOOL)displaysButtonBar;
- (void)initializeUI;
- (void)tearDownUI;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)updateLastFetchDate;
- (void)viewWillRedisplay;
- (void)viewWillBecomeVisible:(id)fp8;
- (void)_focusedMessageChanged:(id)fp8;
- (void)navigationItemPopped:(id)fp8;
- (void)updateBarButtons;
- (void)dealloc;
- (id)messagesForRow:(unsigned int)fp8;
- (BOOL)_pinnedToBottom;
- (void)setRowDeletionEnabled:(BOOL)fp8;
- (void)editButtonClicked;
- (void)fetch:(id)fp8;
- (void)fetchButtonClicked:(id)fp8;
- (void)handleConnectionEstablished:(id)fp8;
- (void)_connectionEstablished:(id)fp8;
- (void)handleMallStartedFetch:(id)fp8;
- (void)miniMallStartFetch:(id)fp8;
- (void)restoreDraft:(id)fp8;
- (void)composeButtonClicked:(id)fp8;
- (void)updateLoadMoreStatus:(id)fp8;
- (void)stopPurgeOlderTimer;
- (void)startPurgeOlderTimerFromDate:(id)fp8;
- (void)startPurgeOlderTimer;
- (void)purgeLoadOlder;
- (void)setCurrentOverflowTime;
- (void)loadOlderMessages;
- (void)_ensureRowVisible:(int)fp8;
- (void)_updateViewingContextToMessage:(id)fp8;
- (void)displayMessage:(id)fp8 withIndex:(unsigned int)fp12;
- (void)tableSelectionDidChange:(id)fp8;
- (void)table:(id)fp8 willSwipeToDeleteRow:(int)fp12;
- (void)table:(id)fp8 willCancelSwipeToDeleteRow:(int)fp12;
- (int)numberOfRowsInTable:(id)fp8;
- (id)cachedAddressCommentForString:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16 reusing:(id)fp20;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (BOOL)table:(id)fp8 canDeleteRow:(int)fp12;
- (void)table:(id)fp8 deleteRow:(int)fp12;
- (BOOL)table:(id)fp8 canReuseCell:(id)fp12;
- (id)mall;
- (void)_updateLoadMoreStatusForcingReload;
- (void)mall:(id)fp8 addedMessages:(BOOL)fp12 userRefresh:(BOOL)fp16;
- (void)_miniMallAddedMessages:(id)fp8;
- (void)miniMallAddedMessages:(id)fp8;
- (void)_reloadTableData;
- (void)_repinAndReload;
- (void)miniMallMessageCountChanged:(id)fp8;
- (int)currentIndexForMall:(id)fp8;
- (void)miniMallSetCurrentIndex:(id)fp8;
- (void)currentIndexChangedByDelta:(int)fp8 messageCountChanged:(BOOL)fp12;
- (void)miniMallIndexChanged:(id)fp8;
- (void)miniMallMessageChangedAtIndex:(id)fp8;
- (BOOL)suspend;
- (BOOL)resume:(id)fp8;
- (void)_defaultsChanged:(id)fp8;
- (void)_accountContentsDidChange:(id)fp8;
- (void)significantTimeChange;
- (void)emptyCaches;
- (id)stores;
- (void)forceRepinOnRedisplay;
- (void)scrollerWillStartDragging:(id)fp8;
- (void)scrollerDidEndDragging:(id)fp8 willSmoothScroll:(BOOL)fp12;
- (void)scrollerDidEndSmoothScrolling:(id)fp8;
- (void)scrollerDidScroll:(id)fp8;
- (id)navigationItem;

@end

@interface MailboxContentViewLayer : UIView
{
    UITable *_table;
}

- (id)initWithSize:(struct CGSize)fp8;
- (void)dealloc;
- (id)table;

@end

@interface MailboxListViewingContext : NSObject
{
    MailAccount *_account;
    id _mailboxSelectionTarget;
    int _pickingForType;
    unsigned int _disableNonGenericMailboxes:1;
}

- (void)setAccount:(id)fp8;
- (void)setDisableNonGenericMailboxes:(BOOL)fp8;
- (void)setSelectionTarget:(id)fp8;
- (void)setType:(int)fp8;
- (id)account;
- (BOOL)disableNonGenericMailboxes;
- (id)selectionTarget;
- (int)type;
- (void)dealloc;

@end

@interface MailboxListViewController : MailViewController
{
    UITable *_outlineLayer;
    NSArray *_sortedMailboxes;
    MailAccount *_account;
    MailboxUid *_currentMailbox;
    int _pickingForType;
    struct CGSize _size;
    unsigned int _showsDisclosure:1;
    unsigned int _loadingMailboxes:1;
    unsigned int _hasButtonBar:1;
    unsigned int _isPrefsStyle:1;
    NSMutableSet *_disabledMailboxes;
    NSMutableSet *_disabledMailboxTypes;
    unsigned int _disableNonGenericMailboxes:1;
    id _mailboxSelectionTarget;
    double _lastCheckedOutbox;
    BOOL _queuedOutboxCheck;
}

+ (BOOL)displaysButtonBar;
- (void)updateBarButtons;
- (void)initializeUI;
- (id)initForContentSize:(struct CGSize)fp8 withButtonBar:(BOOL)fp16 preferenceStyle:(BOOL)fp20;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)clearAccount;
- (void)viewWillBecomeVisible:(id)fp8;
- (void)viewWillRedisplay;
- (void)_setStatusBarDisplaysAccountType:(BOOL)fp8;
- (void)dealloc;
- (BOOL)suspend;
- (BOOL)resume:(id)fp8;
- (id)navigationTitle;
- (void)setCurrentMailbox:(id)fp8;
- (id)_prefsSelectedMailbox;
- (id)selectedMailbox;
- (void)openMailbox:(id)fp8;
- (void)_updateSelection;
- (void)_loadMailboxes;
- (struct CGRect)rectOfMailbox:(id)fp8;
- (id)cellForMailbox:(id)fp8;
- (void)setShowsDisclosure:(BOOL)fp8;
- (void)disableMailboxes:(id)fp8;
- (void)disableMailboxTypes:(id)fp8;
- (void)mailboxListingChanged:(id)fp8;
- (void)_reloadIfOutboxChanged:(id)fp8;
- (void)_queueReloadIfOutboxChanged:(id)fp8;
- (void)messageStoreChanged:(id)fp8;
- (int)numberOfRowsInTable:(id)fp8;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (void)tableSelectionDidChange:(id)fp8;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (id)preferencesTable:(id)fp8 titleForGroup:(int)fp12;
- (void)composeButtonClicked:(id)fp8;

@end

@interface MailboxListViewLayer : UIView
{
    UITable *_outlineLayer;
    unsigned int _isPrefsStyle;
}

- (id)initWithSize:(struct CGSize)fp8 preferenceStyle:(BOOL)fp16;
- (void)dealloc;
- (id)outlineLayer;

@end

@interface MailboxPrefsTableCell : UIPreferencesTableCell
{
    MailboxUid *_mailbox;
    int _type;
    UITextLabel *_mailboxText;
    UIImageView *_mailboxIcon;
    unsigned int _level;
    unsigned int _disabled:1;
}

- (id)initWithSize:(struct CGSize)fp8 mailboxType:(int)fp16;
- (id)initWithSize:(struct CGSize)fp8 mailbox:(id)fp16;
- (void)dealloc;
- (void)setEnabled:(BOOL)fp8;
- (void)setChecked:(BOOL)fp8;
- (void)updateHighlightColors;
- (void)layoutSubviews;

@end

@interface MailboxTableCell : UITableCell <SafeObserverProtocol>
{
    MailboxUid *_mailbox;
    int _type;
    UnreadBubble *_unreadBubble;
    unsigned int _retainCount;
    unsigned int _level;
    unsigned int _disabled:1;
    unsigned int _showUnreadCount:1;
}

+ (float)offsetForLevel:(int)fp8;
- (id)initWithSize:(struct CGSize)fp8 mailbox:(id)fp16;
- (void)dealloc;
- (BOOL)isEnabled;
- (void)setEnabled:(BOOL)fp8;
- (void)updateHighlightColors;
- (void)_updateUnreadBubble;
- (struct CGRect)_rectOfIcon:(id)fp8;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;
- (id)_automationID;
- (id)willBeReleased;
- (id)retain;
- (void)release;
- (unsigned int)retainCount;

@end

@interface MailboxUid (Utilities)
+ (id)iconFromBundle:(id)fp8 forType:(int)fp12;
- (id)iconFromBundle:(id)fp8;
- (int)level;
@end

@interface MailAccount (MailboxSorting)
- (void)_putMailboxesRootedAt:(id)fp8 intoArray:(id)fp12;
- (id)allMailboxUidsSortedWithSpecialsAtTop;
@end

@interface MailViewController : NSObject <MailViewParentController>
{
    UIView *_layer;
    id _parentController;
    float _degreesRotated;
    struct {
        unsigned int suspended:1;
    } _flags;
}

+ (BOOL)displaysButtonBar;
+ (BOOL)isOverlay;
+ (BOOL)canRotateToOrientation:(int)fp8;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)dealloc;
- (id)layer;
- (id)buttonBar;
- (id)navigationBar;
- (void)viewWillBecomeVisible:(id)fp8;
- (void)viewWillRedisplay;
- (void)viewTransitionCompleted;
- (void)overlayWasDismissed;
- (id)navigationTitle;
- (id)navigationItem;
- (BOOL)leftNavigationButtonShowsAsBackArrow;
- (id)leftNavigationButtonTitle;
- (id)rightNavigationButtonTitle;
- (void)updateBarButtons;
- (void)composeButtonClicked:(id)fp8;
- (id)customDefaultPNGName;
- (BOOL)shouldSnapshot;
- (BOOL)suspend;
- (BOOL)resume:(id)fp8;
- (void)significantTimeChange;
- (void)setParentController:(id)fp8;
- (void)pop;
- (void)setTransitionReplacesTopItem:(BOOL)fp8;
- (void)transitionToViewForController:(id)fp8 context:(id)fp12;
- (void)dismissAlertSheetAnimating:(BOOL)fp8;
- (void)displayAlertSheet:(id)fp8 buttonBar:(id)fp12;
- (void)displayAlertSheet:(id)fp8;
- (void)emptyCaches;
- (struct CGSize)size;
- (id)topView;
- (id)bottomView;
- (void)halfRotateToOrientation:(int)fp8;
- (void)willRotateToOrientation:(int)fp8;
- (void)didLayoutForOrientation:(int)fp8;
- (void)didRotateToOrientation:(int)fp8;
- (void)animateFirstHalfOfRotationForOrientation:(int)fp8;

@end

@interface MessageContentAreaLayer : UIScroller
{
    MessageContentLayer *_contentLayer;
    unsigned int _suspendDisplayChanges:1;
    MessageContentProgressLayer *_progressLayer;
    NSTimer *_loadUpdateTimer;
    ActivityMonitor *_loadTask;
    BOOL _isHandlingGestures;
    struct CGPoint _preservedOffset;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (Class)layerClassForContent:(id)fp8;
- (void)clearMessage;
- (void)cancelDisplay;
- (void)cancelHighlight;
- (void)displayMessage:(id)fp8;
- (void)updateForRedisplay;
- (void)viewingContextWillBeginLoading:(id)fp8;
- (void)viewingContextFinishedLoading:(id)fp8;
- (void)messageContentLayerDidLoad:(id)fp8;
- (void)messageContentLayerDidChangeSize:(id)fp8;
- (void)setContentSize:(struct CGSize)fp8;
- (id)contentView;
- (void)suspendDisplayChanges:(BOOL)fp8;
- (void)removeFromSuperview;
- (void)mouseDragged:(struct __GSEvent *)fp8;
- (void)setFrame:(struct CGRect)fp8;
- (BOOL)_isPreservingOffset;
- (struct CGPoint)_maximumOffsetWithinContentSize;
- (void)_tryToRestorePreservedOffset;
- (void)_setOffset:(struct CGPoint)fp8 force:(BOOL)fp16;
- (void)setOffset:(struct CGPoint)fp8;
- (struct CGPoint)_originForProgress;
- (void)_repositionLoadingLayer;
- (void)moveProgressLayer:(float)fp8;
- (void)_addProgressUI;
- (void)_loadCompleted:(id)fp8;
- (void)dealloc;
- (void)willStartGesture:(int)fp8 inView:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (void)didFinishGesturesInView:(id)fp8 forEvent:(struct __GSEvent *)fp12;
- (void)scrollerWillStartSmoothScrolling:(id)fp8;
- (void)scrollerDidEndSmoothScrolling:(id)fp8;
- (void)scrollerWillStartDragging:(id)fp8;
- (void)scrollerDidEndDragging:(id)fp8 willSmoothScroll:(BOOL)fp12;
- (void)updateTextSize;

@end

@interface MessageContentLayer : UIView
{
    MessageHeaderLayer *_headerLayer;
    PartialMessageIndicator *_partialIndicator;
    id _delegate;
    struct CGSize _initialSize;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)clearMessage;
- (void)cancelHighlight;
- (void)displayMessage:(id)fp8;
- (void)updateForRedisplay;
- (void)viewingContextFinishedLoading:(id)fp8;
- (struct CGRect)minimumBodyRect;
- (float)headerEnd;
- (struct CGRect)bodyRect;
- (void)setFrame:(struct CGRect)fp8;
- (void)setBackgroundColor:(struct CGColor *)fp8;
- (void)headerHeightDidChange:(float)fp8 afterAnimation:(BOOL)fp12;
- (void)headerHeightWillChange:(float)fp8;
- (void)contentAreaOffsetChanged;
- (void)contentAreaWasDragged;
- (id)documentView;
- (void)forceViewLayout;
- (void)zoomWebView;

@end

@interface WorkingPushButton : UIPushButton
{
    unsigned int _needsToSendMouseUpEvents:1;
}

- (void)mouseUp:(struct __GSEvent *)fp8;
- (void)sendAction:(SEL)fp8 toTarget:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (BOOL)pointInside:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (struct CGColor *)currentTitleColor;

@end

@interface MessageHeaderHeader : UIView
{
    Message *_lastMessage;
    UIWebView *_subjectWebView;
    DOMHTMLElement *_subjectTextElement;
    UITextLabel *_dateLabel;
    BOOL _dateIs24Hours;
    UIImageView *_unreadIndicator;
    WorkingPushButton *_markAsUnreadButton;
    SeparatorLayer *_bottomSeparator;
    SeparatorLayer *_topSeparator;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (id)_dateStringForDate:(id)fp8 short:(BOOL)fp12;
- (id)subject;
- (void)_markAsUnread:(id)fp8;
- (void)_clearUnread;
- (void)prepareUnreadButton;
- (void)setUnreadButtonVisible:(BOOL)fp8;
- (void)updateForRedisplay;
- (void)_setSubjectText:(id)fp8;
- (void)clearMessage;
- (void)displayMessage:(id)fp8;
- (BOOL)shouldDisplay;
- (void)layoutSubviews;
- (void)webView:(id)fp8 decidePolicyForNewWindowAction:(id)fp12 request:(id)fp16 newFrameName:(id)fp20 decisionListener:(id)fp24;
- (void)webView:(id)fp8 decidePolicyForNavigationAction:(id)fp12 request:(id)fp16 frame:(id)fp20 decisionListener:(id)fp24;

@end

@interface MessageHeaderLayer : UIView
{
    unsigned int _showDetails:1;
    unsigned int _enabled:1;
    unsigned int _isOutgoing:1;
    struct CGSize _pendingSize;
    struct CGSize _oldSize;
    NSString *_cachedToRecipients;
    NSString *_cachedCcRecipients;
    NSString *_cachedSender;
    NSMutableArray *_layersToRemoveWhenSmall;
    WorkingPushButton *_infoButton;
    WorkingPushButton *_oldInfoButton;
    UIView *_bottomBackdrop;
    MessageHeaderHeader *_header;
    LabelledAtomList *_primaryField;
    NSMutableArray *_separators;
}

+ (float)bottomMargin;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)clearMessage;
- (void)createInfoButtonWithTitle:(id)fp8;
- (void)updateInfoButton;
- (void)displayMessage:(id)fp8;
- (void)layoutSubviews;
- (void)_cacheDetailsFromMessage:(id)fp8;
- (void)updateForRedisplay;
- (void)setContentLayerBackgroundColor:(struct CGColor *)fp8;
- (void)addAddressList:(id)fp8 withLabel:(id)fp12 maxWidth:(float)fp16;
- (void)addressAtomClicked:(id)fp8;
- (void)infoButtonClicked:(id)fp8;
- (void)_setShowDetails:(BOOL)fp8 animate:(BOOL)fp12 force:(BOOL)fp16;
- (void)_headerAnimationDidStop;
- (void)_headerHeightDidChangeAfterAnimation:(BOOL)fp8;
- (void)_addDetailLayers;
- (void)_removeDetailLayers;
- (void)_swapInfoButtonToTitle:(id)fp8;
- (void)_buttonAnimationDidFinish;

@end

@interface MessageMiniMall : NSObject
{
    NSMutableSet *_stores;
    NSMutableSet *_messagesSet;
    NSMutableArray *_messagesArray;
    struct _NSRange _loadedRange;
    unsigned int _lastIndex;
    unsigned int _messageCount;
    BOOL _addedMessages;
    BOOL _userRefresh;
    BOOL _showLoadMoreIndicator;
    NSMutableSet *_hiddenMessages;
    NSMutableSet *_readMessages;
    ActivityMonitor *_fetchActivity;
    NSMutableDictionary *_transferMessagesQueue;
    NSLock *_transferMessagesLock;
    NSMutableArray *_deletedMessagesQueue;
    NSLock *_deletedLock;
    BOOL _messageSortAscending;
    Message *_currentMessage;
    int _currentIndexChange;
    int _lastChangeDirection;
    unsigned int _loadingMoreMessages:1;
}

- (id)initWithObserver:(id)fp8;
- (void)dealloc;
- (void)addObserver:(id)fp8;
- (void)removeObserver:(id)fp8;
- (void)setCurrentMessage:(id)fp8;
- (void)_closeStores:(id)fp8;
- (void)removeAllMailboxes;
- (void)addMailbox:(id)fp8;
- (void)_checkForNewMailAndNotifyOnFailureBackground:(id)fp8;
- (void)_checkForNewMailAndNotifyOnFailure:(id)fp8;
- (void)checkForNewMailAndNotifyOnFailure:(BOOL)fp8 userRefresh:(BOOL)fp12;
- (BOOL)hasMoreMessages;
- (void)_checkServerCount:(id)fp8;
- (unsigned int)serverMessageCount;
- (unsigned int)serverUnreadCount;
- (void)_addHiddenMessages:(id)fp8;
- (unsigned int)unreadCountForDisplay;
- (unsigned int)currentReadCount;
- (BOOL)showLoadMoreIndicator;
- (BOOL)isLoadingOlderMessages;
- (void)fetchMoreMessages:(id)fp8;
- (void)_fetchCompleted:(id)fp8;
- (void)handleFetchCompleted:(id)fp8;
- (void)filterInStore:(id)fp8;
- (void)filterInMessages:(id)fp8 forcefully:(BOOL)fp12;
- (void)filterOutMessages:(id)fp8;
- (void)_synchronouslyFilterInMessages:(id)fp8 forcefully:(struct __CFBoolean *)fp12;
- (void)_synchronouslyFilterOutMessages:(id)fp8;
- (void)setLastChangeDirection:(int)fp8;
- (int)_lastChangeDirection;
- (unsigned int)_indexToSelectAfterDeletedMessage:(id)fp8 loadedMessages:(id)fp12 loadedRange:(struct _NSRange)fp16;
- (void)_filterTaskCompleted:(id)fp8:(id)fp12:(id)fp16:(id)fp20:(struct _NSRange)fp24;
- (void)_messageFlagsChanged:(id)fp8;
- (void)messagesWillBeRemoved:(id)fp8;
- (void)messagesWillBeMarkedNotViewed:(id)fp8;
- (void)messagesWillBeMarkedViewed:(id)fp8;
- (void)messagesFailedToTransfer:(id)fp8;
- (void)_messagesAdded:(id)fp8;
- (void)handleMessagesAdded:(id)fp8 store:(id)fp12;
- (void)_messagesCompacted:(id)fp8;
- (void)handleMessagesCompacted:(id)fp8 store:(id)fp12;
- (id)messageAtIndex:(unsigned int)fp8;
- (unsigned int)indexOfMessage:(id)fp8;
- (unsigned int)messageCount;
- (void)suspend;
- (void)resume;
- (void)sortMessagesAscending:(BOOL)fp8;
- (id)store;
- (id)stores;
- (void)purgeOlderMessagesInStores:(id)fp8;
- (BOOL)_reallyTransferMessages:(id)fp8 toMailbox:(id)fp12 markAsRead:(BOOL)fp16;
- (void)_reallyTransferMessages;
- (void)transferMessages:(id)fp8 toMailbox:(id)fp12;
- (unsigned int)minBufferCount;
- (void)markMessagesAsDeleted:(id)fp8;
- (void)_reallyMarkMessagesDeleted;

@end

@interface MailboxNavigationItem : UINavigationItem
{
    MessageMiniMall *_mall;
}

- (id)initWithMessageMiniMall:(id)fp8;
- (id)navigationTitle;
- (void)_update;
- (void)_unreadCountChanged:(id)fp8;
- (void)dealloc;

@end

@interface MixedMessageFragment : NSObject
{
    NSString *_markupString;
    NSURL *_baseURL;
}

- (id)initWithMarkupString:(id)fp8 baseURL:(id)fp12;
- (void)dealloc;

@end

@interface WebMessageContentLayer : MessageContentLayer
{
    MessageWebLayer *_webLayer;
    UICheckeredPatternView *_checkeredPatternView;
    NSMutableArray *_webMessageDocuments;
    NSMutableArray *_contentToAppend;
    NSLock *_contentToAppendLock;
    GenericAttachmentStore *_attachmentStore;
    unsigned int _isZooming:1;
    unsigned int _mouseDragged:1;
    unsigned int _mainLoadCompleted:1;
    unsigned int _isLoadingBlankPage:1;
    unsigned int _isTweaking:1;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)clearMessage;
- (void)cancelDisplay;
- (void)cancelHighlight;
- (void)displayMessage:(id)fp8;
- (void)viewingContextFinishedLoading:(id)fp8;
- (void)updateTextSize;
- (void)setupWebLayer;
- (void)zoomWebView;
- (void)forceViewLayout;
- (void)loadRequest:(id)fp8;
- (void)loadHTMLString:(id)fp8 baseURL:(id)fp12 withContext:(id)fp16;
- (void)_pulseScrollIndicatorsAfterLoad;
- (void)messageWebLayerDidFinishLoadingWebThread:(id)fp8;
- (void)messageWebLayerDidFinishLoading:(id)fp8;
- (id)documentView;
- (void)setBackgroundColor:(struct CGColor *)fp8;
- (void)setFrame:(struct CGRect)fp8;
- (void)messageWebLayer:(id)fp8 sizeDidChange:(struct CGSize)fp12;
- (void)updateCheckeredPatternFrame;
- (float)bottomMargin;
- (void)headerHeightDidChange:(float)fp8 afterAnimation:(BOOL)fp12;
- (void)headerHeightWillChange:(float)fp8;
- (void)setWebViewVisibleSize:(struct CGSize)fp8 andMinimumSize:(struct CGSize)fp16;
- (void)setNeedsLayout;
- (void)mouseDown:(struct __GSEvent *)fp8;
- (void)contentAreaWasDragged;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (void)_attachmentFinishedLoading:(id)fp8;
- (void)messageWebLayerClickedOnAttachmentWithID:(id)fp8 pluginClient:(id)fp12;
- (void)messageWebLayerClickedOnAttachmentToDisplayInSeparateView:(id)fp8;
- (void)webView:(id)fp8 willShowCalloutWithTitle:(id *)fp12 andSubtitle:(id *)fp16 forElement:(id)fp20;

@end

@interface MessageTextAttachment (HTMLRepresentation)
- (id)objectStringForSize:(unsigned int)fp8 fileName:(id)fp12 contentID:(id)fp16 constrainedWidth:(int)fp20 displayInsidePlugin:(BOOL)fp24;
- (id)htmlRepresentation;
@end

@interface ComposeViewController : MailViewController
{
    MailComposeController *_composeController;
    UIView *_savedBottomView;
    UIView *_savedTopView;
}

+ (BOOL)isOverlay;
- (void)initializeUI;
- (void)tearDownUI;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)dealloc;
- (void)viewWillBecomeVisible:(id)fp8;
- (BOOL)suspend;
- (BOOL)resume:(id)fp8;
- (void)close;
- (id)attachments;
- (struct CGRect)rectOfAttachment:(id)fp8;
- (void)setContentVisible:(BOOL)fp8;
- (void)mailComposeControllerCompositionFinished:(id)fp8;
- (void)mailComposeControllerWillAttemptToSend:(id)fp8;
- (void)mailComposeControllerDidAttemptToSend:(id)fp8 mailDelivery:(id)fp12;
- (void)mailComposeControllerDidAttemptToSaveDraft:(id)fp8 account:(id)fp12 result:(int)fp16;
- (void)mailComposeControllerFinishedLoadingInitialAttachments:(id)fp8;
- (id)addressesForField:(int)fp8;
- (void)addAddress:(id)fp8 field:(int)fp12;
- (void)removeAddressAtIndex:(int)fp8 field:(int)fp12;
- (void)viewTransitionCompleted;
- (BOOL)canRotateToOrientation:(int)fp8;
- (id)topView;
- (id)bottomView;

@end

@interface DeliveryQueue : NSObject
{
    unsigned int _resetDeliveryQueueWhenDoneWithCurrentMessage:1;
    int _indexOfLastMessageToProcess;
    BOOL _queueIsActive;
    MessageStore *_outboxStore;
    NSMutableSet *_potentialAlternateDeliveryAccounts;
    NSMutableSet *_accountsOnHold;
    NSMutableDictionary *_alternateDeliveryAccounts;
}

+ (id)sharedDeliveryQueue;
- (id)init;
- (void)dealloc;
- (void)resetStateAndReprocessQueue;
- (id)_outboxStore;
- (void)_closeOutboxStore;
- (void)processDeliveryQueueStartingAtIndex:(unsigned int)fp8;
- (void)setPercentDone:(double)fp8;
- (int)_performDeliveryOfMessage:(id)fp8 usingAccount:(id)fp12 accountUsed:(id *)fp16;
- (void)_deliverQueuedMessages:(id)fp8;
- (int)appendMessageToQueue:(id)fp8 replacingOriginalMessage:(id)fp12;
- (id)potentialAlternateDeliveryAccounts;
- (void)setAlternateDeliveryAccount:(id)fp8 forAccount:(id)fp12;
- (void)unfreezeDeliveryAccount:(id)fp8 reprocessQueue:(BOOL)fp12;
- (id)alternateDeliveryAccountForAccount:(id)fp8;
- (void)updateStatusBarUnsentCount;
- (void)_setStatusBarUnsentCount:(id)fp8;

@end

@interface AddressAtom : UIControl
{
    struct {
        struct CGRect left;
        struct CGRect middle;
        struct CGRect right;
    } _atomImageSlices;
    SlicedImageView *_leftCap;
    SlicedImageView *_rightCap;
    SlicedImageView *_center;
    UITextLabel *_addressLabel;
    NSString *_fullAddress;
    struct CPRecord *_person;
    NSString *_displayString;
    struct CGPoint _displayStringOrigin;
    unsigned int _maxWidth;
    int _identifier;
    unsigned int _needsToSendMouseUpEvents:1;
    unsigned int _dragging:1;
    unsigned int _updatedABPerson:1;
}

+ (void)initialize;
- (void)_registerForNotifications;
- (void)_unregisterForNotifications;
- (id)initWithAddress:(id)fp8 maxWidth:(float)fp12 useAddressBookDisplayString:(BOOL)fp16;
- (void)setMaxWidth:(float)fp8;
- (void)mouseUp:(struct __GSEvent *)fp8;
- (void)mouseDragged:(struct __GSEvent *)fp8;
- (void)sendAction:(SEL)fp8 toTarget:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (void)dealloc;
- (void)setFrame:(struct CGRect)fp8;
- (void)autoResizeWithOrigin:(struct CGPoint)fp8;
- (void)autoResize;
- (void)_updateABPerson;
- (void)_updateDisplayString;
- (void)_updateDisplayStringIncludingABPerson:(BOOL)fp8;
- (struct CPRecord *)ABPerson;
- (int)identifier;
- (id)unmodifiedAddressString;
- (void)setHighlighted:(BOOL)fp8;
- (BOOL)_alwaysHandleScrollerMouseEvent;

@end

@interface SlicedImageView : UIView
{
    UIImage *_image;
    UIImage *_imagePressed;
    struct CGRect _imageSlice;
    unsigned int _isPressed:1;
}

- (id)initWithFrame:(struct CGRect)fp8 image:(id)fp24 pressed:(id)fp28 slice:(struct CGRect)fp32;
- (void)dealloc;
- (void)drawRect:(struct CGRect)fp8;
- (void)setPressed:(BOOL)fp8;

@end

@interface BrowsingNavigationItem : UINavigationItem <MessageMiniMallObserver>
{
    MessageMiniMall *_mall;
    Message *_message;
    id _delegate;
    UISegmentedControl *_arrowsControl;
    unsigned int _initialized:1;
}

- (void)initializeUI;
- (void)tearDownUI;
- (id)initWithMall:(id)fp8 currentMessage:(id)fp12;
- (void)dealloc;
- (void)_update;
- (void)_adjustArrowsForIndex:(unsigned int)fp8 total:(unsigned int)fp12;
- (void)setMessage:(id)fp8;
- (void)setMall:(id)fp8;
- (unsigned int)currentIndex;
- (void)setDelegate:(id)fp8;
- (void)willBecomeTopInNavigationBar:(id)fp8 navigationBarState:(int)fp12;
- (void)willResignTopInNavigationBar:(id)fp8 navigationBarState:(int)fp12;
- (void)segmentedControl:(id)fp8 selectedSegmentChanged:(int)fp12;
- (void)suspend;
- (void)resume;
- (void)miniMallMessageCountChanged:(id)fp8;
- (void)miniMallAddedMessages:(id)fp8;
- (void)miniMallMessageChangedAtIndex:(id)fp8;
- (void)miniMallStartFetch:(id)fp8;
- (void)miniMallIndexChanged:(id)fp8;
- (void)miniMallSetCurrentIndex:(id)fp8;
- (void)_focusedMessageChanged:(id)fp8;

@end

@interface LabelledAtomList : UIView
{
    NSMutableArray *_addresses;
    UITextLabel *_txtLabel;
    float _maxWidth;
}

- (id)initWithLabel:(id)fp8 totalWidth:(float)fp12 maxLayoutWidth:(float)fp16 addresses:(id)fp20;
- (void)setMaxWidth:(float)fp8;
- (void)reflowForAtom:(id)fp8;
- (void)_reflow;
- (void)setAddressAtomTarget:(id)fp8 action:(SEL)fp12;
- (void)dealloc;
- (id)label;

@end

@interface TransferMailboxPicker : UIView
{
    UIImageView *_envelope;
    NSString *_sender;
    NSString *_subject;
    MailboxListViewController *_mailboxListController;
    MailboxUid *_sourceMailbox;
    UINavigationBar *_navBar;
    struct CGRect _destinationRect;
    UITableCell *_tableCell;
    UIView *_lastSuperview;
    UIImageView *_backstop;
    id _delegate;
    unsigned int _isIgnoringEvents:1;
}

- (id)initWithMessage:(id)fp8 andOffset:(struct CGPoint)fp12;
- (id)initWithMessage:(id)fp8;
- (void)dealloc;
- (void)displayScrollerIndicators;
- (void)setDelegate:(id)fp8;
- (void)drawRect:(struct CGRect)fp8;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)dismiss;
- (void)animateMessageToMailbox:(id)fp8;
- (void)mailboxList:(id)fp8 didSelectMailbox:(id)fp12;
- (void)animationDidStop:(id)fp8 finished:(BOOL)fp12;

@end

@interface BrowsingNavigationItem (MailAppTesting)
- (id)message;
@end

@interface MessageMiniMall (MailAppTesting)
- (unsigned int)currentIndex;
@end

@interface MessageViewController (MailAppTesting)
- (id)mall;
- (id)browsingItem;
@end

@interface MailboxContentViewController (MailAppTest)
- (void)selectMessageAtIndex:(int)fp8;
@end

@interface UIScroller (MailAppTesting)
- (void)_testingScrollStep;
- (void)scrollBy:(float)fp8 forIterations:(int)fp12;
@end

@interface MailAppController (MailAppControllerTesting)
- (BOOL)isTesting;
- (void)runAllTests;
- (BOOL)runTest:(id)fp8 options:(id)fp12;
- (void)reallyStartScrollMessageListTest:(id)fp8;
- (void)startScrollMessageListTest:(id)fp8 withOptions:(id)fp12;
- (void)_messageContentLayerFinished;
- (void)startMessageIterationTest:(id)fp8;
- (void)_performNextShowDismissComposeTransition;
- (void)startShowDismissComposeTest:(id)fp8;
- (void)_transitionLayerDidComplete:(id)fp8;
@end

@interface StaticMailbox : MailboxUid
{
    NSString *_plistPath;
}

- (id)initWithMessagePlistAtPath:(id)fp8;
- (void)dealloc;
- (id)plistPath;
- (id)displayName;
- (id)name;
- (int)unreadCount;
- (id)store;

@end

@interface StaticStore : MessageStore
{
    NSArray *_messages;
    NSDictionary *_bodiesForMessages;
    NSData *_body;
    NSData *_headers;
}

- (id)initWithMailboxUid:(id)fp8 readOnly:(BOOL)fp12;
- (void)dealloc;
- (void)openAsynchronously;
- (void)fetchSynchronously;
- (int)fetchMobileSynchronously:(int)fp8;
- (int)nonDeletedCount;
- (id)copyOfMessagesInRange:(struct _NSRange)fp8 options:(unsigned int)fp16;
- (id)_fetchHeaderDataForMessage:(id)fp8 downloadIfNecessary:(BOOL)fp12;
- (id)_fetchBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12 downloadIfNecessary:(BOOL)fp16;
- (id)bodyDataForMessage:(id)fp8;
- (void)_cacheBodyAndHeaders;

@end

@interface MessageContentProgressLayer : UIView
{
    UIProgressIndicator *_progressIndicator;
    UITextLabel *_loadingText;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)layoutSubviews;

@end

@interface WebMessageContentLayer (Zooming)
- (void)willStartGesture:(int)fp8 inView:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (void)gestureDidChange:(int)fp8 inView:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (void)didFinishGesture:(int)fp8 inView:(id)fp12 forEvent:(struct __GSEvent *)fp16;
@end

@interface PMIControl : UIControl
{
    unsigned int _bytes;
    unsigned int _needsToSendMouseUpEvents:1;
    BOOL _isDownloading;
    UIProgressIndicator *_spinny;
}

- (id)initWithWidth:(float)fp8 top:(float)fp12 bytesLeft:(unsigned int)fp16;
- (void)resize;
- (void)setBytesLeft:(unsigned int)fp8;
- (void)setDownloading:(BOOL)fp8;
- (void)drawRect:(struct CGRect)fp8;
- (void)mouseUp:(struct __GSEvent *)fp8;
- (void)sendAction:(SEL)fp8 toTarget:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (void)dealloc;

@end

@interface PMIText : UIView
{
}

- (id)initWithWidth:(float)fp8 top:(float)fp12;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface PMISplitter : UIView
{
}

- (id)initWithWidth:(float)fp8 top:(float)fp12;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface PartialMessageIndicator : UIView
{
    PMIControl *_control;
    PMISplitter *_splitter;
    PMIText *_text;
}

+ (float)defaultHeight;
- (id)initWithBytesLeft:(unsigned int)fp8;
- (void)setBytesLeft:(unsigned int)fp8;
- (void)addTarget:(id)fp8 action:(SEL)fp12 forEvents:(int)fp16;
- (void)setFrame:(struct CGRect)fp8;

@end

@interface UINavigationItem (MailUtils)
- (void)addSubview:(id)fp8;
- (void)setNeedsDisplay;
- (struct CGRect)enclosingBounds;
- (void)setRightMargin:(float)fp8;
@end

@interface BufferedPushButton : UIPushButton
{
    struct CGRect _buffer;
}

- (BOOL)pointInside:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (void)setHitBuffer:(struct CGRect)fp8;

@end

@interface MailABUnknownCardViewingContext : NSObject
{
    NSString *_emailAddressString;
    unsigned int _dismissingForSubPicker:1;
    NSString *_label;
}

- (id)initWithEmailAddressString:(id)fp8 label:(id)fp12;
- (void)dealloc;
- (id)emailAddressString;
- (id)label;

@end

@interface MailABUnknownCardViewerController : MailViewController
{
    MailABUnknownCardViewingContext *_context;
    NSString *_navigationTitle;
}

- (void)dealloc;
- (void)_compute:(id)fp8 displayedPersonName:(id *)fp12 unknownPersonMessage:(id *)fp16;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)viewWillBecomeVisible:(id)fp8;
- (id)navigationTitle;
- (void)doneButtonClicked:(id)fp8;
- (id)unknownPersonCardViewerPossibleFirstname:(id)fp8;
- (id)unknownPersonCardViewerPossibleLastname:(id)fp8;
- (void)unknownPersonCardViewer:(id)fp8 presentPickingOverlay:(id)fp12;
- (void)unknownPersonCardViewer:(id)fp8 dismissPickingOverlay:(id)fp12;
- (void)unknownPersonCardViewer:(id)fp8 didResolveToPerson:(struct CPRecord *)fp12;
- (BOOL)unknownPersonCardViewer:(id)fp8 openURL:(id)fp12 forContactInfoButton:(id)fp16;

@end

@interface MailTransitionView : UITransitionView
{
    UIView *_savedTopSuperview;
    UIView *_savedBottomSuperview;
}

- (BOOL)transitionToOverlayViewBySlidingUp:(id)fp8;
- (BOOL)dismissOverlayBySlidingDown;
- (void)_overlayTransitionInFinished:(id)fp8;
- (void)_overlayTransitionOutFinished:(id)fp8;
- (BOOL)canRotateToOrientation:(int)fp8;
- (id)topView;
- (id)bottomView;
- (struct CGPoint)_positionForOrientation:(int)fp8;
- (struct CGRect)_boundsForOrientation:(int)fp8;
- (void)_scaleSubviewsWithXScale:(float)fp8 yScale:(float)fp12;
- (void)adjustFirstHalfForOrientation:(int)fp8;
- (void)adjustSecondHalfForOrientation:(int)fp8;
- (void)adjustForOrientation:(int)fp8;
- (void)willRotateToOrientation:(int)fp8;
- (void)animateFirstHalfOfRotationForOrientation:(int)fp8;
- (void)animateSecondHalfOfRotationForOrientation:(int)fp8;
- (void)halfRotateToOrientation:(int)fp8;
- (void)didRotateToOrientation:(int)fp8;
- (void)setFrame:(struct CGRect)fp8;
- (void)dealloc;

@end

@interface ComposePeoplePickerController : MailViewController
{
}

+ (BOOL)isOverlay;
- (void)dealloc;
- (id)layer;
- (BOOL)shouldSnapshot;
- (BOOL)suspend;
- (void)viewWillBecomeVisible:(id)fp8;
- (void)fixupPeoplePickerDelegate:(id)fp8;
- (BOOL)peoplePicker:(id)fp8 shouldShowCardForPerson:(struct CPRecord *)fp12;

@end

@interface MailButtonBar : UIButtonBar
{
    unsigned int _animationDisabledCount;
}

- (void)positionButtons:(id)fp8 tags:(int *)fp12 count:(int)fp16 group:(int)fp20;
- (void)disableAnimation;
- (void)enableAnimation;
- (void)showButtons:(int *)fp8 withCount:(int)fp12 withDuration:(double)fp16;
- (void)showButtonGroup:(int)fp8 withDuration:(double)fp12 force:(BOOL)fp20;
- (void)showButtonGroup:(int)fp8 withDuration:(double)fp12;
- (id)createButtonWithDescription:(id)fp8;

@end

@interface UIButtonBar (MailButtonBarRegistrations)
- (void)registerButtonGroups:(int)fp8;
@end

@interface UnreadBubble : UIView
{
    BOOL _isSelected;
    unsigned int _unreadCount;
    struct CGSize _textSize;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)_sizeToFit;
- (void)setUnreadCount:(unsigned int)fp8;
- (void)setIsSelected:(BOOL)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface AttachmentAnimationWindow : UIWindow
{
    id _delegate;
    UIView *_imageView;
}

- (id)initWithAttachment:(id)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)animateToRect:(struct CGRect)fp8;
- (void)_animationCompleted;

@end

@interface MailButtonCell : UITableCell
{
    UIProgressIndicator *_proggy;
    unsigned int _window;
    unsigned int _total;
    unsigned int _unread;
    unsigned int _inProgress:1;
}

- (id)loadString;
- (id)totalString;
- (void)setInProgress:(BOOL)fp8;
- (void)setWindow:(unsigned int)fp8 total:(unsigned int)fp12 unread:(unsigned int)fp16;
- (void)dealloc;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface BodyLayer : MailTableCellView
{
    Message *_message;
    NSString *_storedBody;
    float _lineWidth;
}

- (id)initWithFrame:(struct CGRect)fp8 message:(id)fp24;
- (double)ordering;
- (id)message;
- (void)notifyContentsUnavailableForMessage:(id)fp8;
- (void)_setStoredBody:(id)fp8 forMessage:(id)fp12;
- (void)notifyContentsAvailable:(id)fp8 forMessage:(id)fp12;
- (void)setMessage:(id)fp8;
- (void)removeFromSuperview;
- (void)dealloc;
- (void)drawRect:(struct CGRect)fp8;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;

@end

@interface SenderLayer : MailTableCellView
{
    NSString *_sender;
    double _interval;
    UIImageView *_attachmentLayer;
    UIView *_dateHidingView;
    float _boundary;
    unsigned int _hasAttachment:1;
}

- (id)initWithFrame:(struct CGRect)fp8 sender:(id)fp24 interval:(double)fp28;
- (void)setSender:(id)fp8 interval:(double)fp12;
- (void)showDateView:(float)fp8;
- (struct CGRect)attachmentRect;
- (id)attachmentLayer;
- (void)setHasAttachment:(BOOL)fp8;
- (void)updateAttachmentLayer;
- (void)dealloc;
- (void)drawRect:(struct CGRect)fp8;
- (struct CGPoint)positionForDateView;
- (struct CGRect)rectForDateView;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;

@end

@interface SubjectLayer : MailTableCellView
{
    NSString *_subject;
}

- (id)initWithFrame:(struct CGRect)fp8 subject:(id)fp24;
- (void)setSubject:(id)fp8;
- (void)dealloc;
- (void)drawRect:(struct CGRect)fp8;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;

@end

@interface MailboxContentViewCell : UITableCell
{
    Message *_message;
    NSString *_subject;
    NSString *_sender;
    double _interval;
    UIImageView *_statusLayer;
    UIImageView *_toCCLayer;
    SenderLayer *_senderLayer;
    SubjectLayer *_subjectLayer;
    BodyLayer *_bodyLayer;
    unsigned int _isUnread:1;
    unsigned int _isReplied:1;
    unsigned int _isForwarded:1;
    unsigned int _isUnselecting:1;
    unsigned int _hideDate:1;
    unsigned int _inDeletionConfirmation:1;
    unsigned int _inDeletionButtonAnimation:1;
    unsigned int _slideRight:1;
    unsigned int _isTo:1;
    unsigned int _isCC:1;
}

+ (void)initialize;
+ (struct __GSFont *)senderSubjectCellFont;
- (id)initWithFrame:(struct CGRect)fp8 message:(id)fp24 flipped:(BOOL)fp28 address:(id)fp32;
- (void)addSubview:(id)fp8;
- (void)setMessage:(id)fp8 flipped:(BOOL)fp12 address:(id)fp16;
- (id)message;
- (void)updateFlagsFromMessage:(id)fp8;
- (id)statusLayer;
- (void)updateStatusLayer;
- (void)updateToCCLayer;
- (void)setSelected:(BOOL)fp8 withFade:(BOOL)fp12;
- (void)dealloc;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;
- (void)_setSelectionFadeFraction:(float)fp8;
- (void)_createSubjectLayer:(BOOL)fp8;
- (void)_createBodyLayer:(BOOL)fp8;
- (void)_createSenderLayer:(BOOL)fp8;
- (void)_createSublayers:(BOOL)fp8;
- (id)_automationID;
- (void)matchOriginOf:(id)fp8 to:(id)fp12;
- (void)replaceOldLayer:(id)fp8 withNew:(id)fp12;
- (void)layoutSubviews;
- (void)removeControlWillShowRemoveConfirmation:(id)fp8;
- (void)removeControlWillHideRemoveConfirmation:(id)fp8;
- (void)removeControlWillShowRemoveButton:(id)fp8 animated:(BOOL)fp12;
- (void)removeControlWillHideRemoveButton:(id)fp8 animated:(BOOL)fp12;

@end

@interface MailTableCellView : UIView
{
    struct CGRect _originalFrame;
    float _selectionFraction;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)setSelectionFraction:(float)fp8;
- (void)resetFrame:(BOOL)fp8;
- (void)setOpaque:(BOOL)fp8;

@end

@interface CertValidationContext : NSObject
{
    NSData *_certData;
    Account *_account;
}

- (void)setCertData:(id)fp8;
- (void)setAccount:(id)fp8;
- (id)certData;
- (id)account;
- (void)dealloc;

@end

@interface MailABCardViewingContext : NSObject
{
    struct CPRecord *_person;
    NSString *_label;
    int _identifier;
    unsigned int _showDoneButton:1;
}

- (id)initWithABPersonRef:(struct CPRecord *)fp8 label:(id)fp12 identifier:(int)fp16;
- (void)dealloc;
- (void)setShowDoneButton:(BOOL)fp8;

@end

@interface MailABCardViewerController : MailViewController
{
    unsigned int _showDoneButton:1;
    unsigned int _needsReload:1;
    unsigned int _showingActionsView:1;
    int _uniqueID;
    NSString *_navigationTitle;
}

- (void)initializeUI;
- (void)tearDownUI;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)_setupCardViewer:(id)fp8 andPerson:(struct CPRecord *)fp12 identifier:(int)fp16;
- (void)viewWillBecomeVisible:(id)fp8;
- (id)navigationTitle;
- (void)updateBarButtons;
- (void)cancelButtonClicked:(id)fp8;
- (void)doneButtonClicked:(id)fp8;
- (void)cardViewer:(id)fp8 presentActionsSheet:(id)fp12;
- (void)cardViewer:(id)fp8 dismissActionsSheet:(id)fp12;
- (void)cardViewer:(id)fp8 selectedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (BOOL)resume:(id)fp8;
- (BOOL)shouldSnapshot;
- (BOOL)suspend;
- (void)_addressBookChanged;
- (void)dealloc;

@end

@interface AccountSetupController : MailViewController
{
    AccountSetupRootController *_psSetupController;
    struct CGSize _size;
}

+ (BOOL)isOverlay;
- (void)initializeUI;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)dealloc;
- (id)customDefaultPNGName;
- (BOOL)shouldSnapshot;
- (BOOL)suspend;
- (BOOL)resume:(id)fp8;
- (void)didFinishTransition;
- (void)finishedAccountSetup;

@end

@interface AccountSetupRootController : PSRootController
{
    id <PSBaseView> _parentController;
}

- (void)setParentController:(id)fp8;
- (void)setupRootListForSize:(struct CGSize)fp8;
- (void)showForDefaultPNG;
- (void)finishedAccountSetup;

@end

@interface AccountListController : MailViewController
{
    NSArray *_accounts;
    UITable *_table;
    unsigned int _ignoreTableSelectionChanges:1;
}

+ (BOOL)displaysButtonBar;
- (void)_loadAccountsReloadingIfNecessary:(BOOL)fp8;
- (void)invalidateAccountList;
- (id)accounts;
- (void)initializeUI;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)dealloc;
- (BOOL)resume:(id)fp8;
- (BOOL)suspend;
- (void)viewWillBecomeVisible:(id)fp8;
- (void)viewWillRedisplay;
- (void)popIntoAccount:(id)fp8;
- (id)navigationTitle;
- (int)numberOfRowsInTable:(id)fp8;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (void)_transitionToSelectedAccount;
- (void)tableSelectionDidChange:(id)fp8;

@end

@interface AccountTableCell : UISimpleTableCell
{
    MailAccount *_account;
    UnreadBubble *_unreadBubble;
}

- (void)updateHighlightColors;
- (void)_updateUnreadBubble;
- (id)initWithSize:(struct CGSize)fp8 account:(id)fp16;
- (void)dealloc;
- (void)drawTitleInRect:(struct CGRect)fp8 selected:(BOOL)fp24;

@end

@interface MailDateLabel : UIDateLabel
{
}

+ (void)_initializeSharedDate;
+ (void)purgeSharedDate;
+ (struct CGSize)sizeForTimeInterval:(double)fp8;
+ (void)drawInterval:(double)fp8 atPoint:(struct CGPoint)fp16 selectionFraction:(float)fp24;
- (void)setSelectionFraction:(float)fp8;

@end

@interface MailStatusBarView : UIView
{
    MailStatusProgressBarView *_progView;
    MailStatusUpdateView *_updateView;
    MailStatusIndeterminateView *_indeterminateView;
    UITextLabel *_displayedAccountTypeView;
    id _delegate;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)setDelegate:(id)fp8;
- (void)removeSubviews;
- (void)switchSubviewToView:(id)fp8;
- (void)showUpdateStatus;
- (void)showProgressBar;
- (void)showDisplayedAccountType;
- (id)_displayedAccountTypeView;
- (void)showIndeterminateStatus;
- (void)setNeedsDisplay;
- (void)dealloc;

@end

@interface MailStatusBar : NSObject
{
    struct CGRect _frame;
    MailStatusBarView *_ourBarView;
    NSMutableDictionary *_statusPerAccountDictionary;
    unsigned int _unsentCount;
    double _lastBarTime;
    unsigned int _displayAccountType:1;
}

+ (id)sharedStatusBar;
+ (BOOL)isShowingStatus;
+ (void)purgeSharedBar;
- (void)setNeedsDisplay;
- (id)_barView;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)_purgeSharedBarView;
- (void)dealloc;
- (void)setValue:(id)fp8 forKey:(id)fp12 andObject:(id)fp16;
- (id)valueForKey:(id)fp8 andObject:(id)fp12;
- (void)setStatus:(id)fp8 forObject:(id)fp12;
- (void)setProgress:(float)fp8 forObject:(id)fp12 update:(BOOL)fp16;
- (void)setMonitor:(id)fp8 forObject:(id)fp12;
- (void)setProgress:(float)fp8 forObject:(id)fp12;
- (void)setLastUpdated:(id)fp8 forObject:(id)fp12;
- (void)setUnsentCount:(unsigned int)fp8;
- (void)showAccountType:(BOOL)fp8;
- (void)setView:(id)fp8;
- (void)updateStatus:(id)fp8 forObject:(id)fp12 withMonitor:(id)fp16;
- (void)resetStatusForObject:(id)fp8;
- (void)showIndeterminateProgressWithMessage:(id)fp8 forObject:(id)fp12 withMonitor:(id)fp16;
- (id)lastUpdated;
- (unsigned int)unsentCount;
- (float)progress;
- (id)status;
- (id)displayedAccountType;

@end

@interface AccountNavigationItem : UINavigationItem
{
    MailAccount *_account;
}

- (id)initWithAccount:(id)fp8;
- (void)setAccount:(id)fp8;
- (id)title;
- (void)accountWasDeleted:(id)fp8;

@end

@interface SeparatorLayer : UIView
{
    unsigned int _inverse:1;
}

- (id)initWithFrame:(struct CGRect)fp8 reversed:(BOOL)fp24;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface UIView (Separators)
- (id)addSeparatorAtPosition:(float)fp8;
@end

@interface MailStatusProgressBarView : UIView
{
    id _delegate;
}

+ (struct CGRect)defaultFrame;
- (id)initWithFrame:(struct CGRect)fp8;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (void)drawRect:(struct CGRect)fp8;
- (void)setDelegate:(id)fp8;

@end

@interface MailStatusUpdateView : UIView
{
    UITextLabel *_updatedLabel;
    UITextLabel *_dateLabel;
    UITextLabel *_timeLabel;
    UITextLabel *_designatorLabel;
    UITextLabel *_unsentCountLabel;
    id _delegate;
}

+ (void)significantTimeChange;
- (void)layoutSubviews;
- (void)_setupLabel:(id)fp8 text:(id)fp12 font:(struct __GSFont *)fp16 shadowColor:(struct CGColor *)fp20;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)update;

@end

@interface MailStatusIndeterminateView : UIView
{
    NSString *_current;
    NSString *_alternate;
    UITextLabel *_message;
    UIProgressIndicator *_spinny;
    id _delegate;
}

- (void)layoutSubviews;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)setDelegate:(id)fp8;
- (void)setCurrent:(id)fp8;
- (void)setAlternate:(id)fp8;
- (void)update;
- (void)removeFromSuperview;
- (void)dealloc;

@end

@interface AutoFetchController : NSObject
{
    id _delegate;
    NSDate *_lastAutoFetchDate;
    NSDate *_wakeUpDate;
    NSTimer *_autoFetchTimer;
    NSDate *_failedPushWakeDate;
    NSTimer *_failedPushTimer;
    NSMutableSet *_failedPushAccounts;
    int _notifyLockStateToken;
    unsigned long long _holdState;
    unsigned int _pmNotifier;
    struct IONotificationPort *_pmPort;
    struct __CFRunLoopSource *_pmSource;
    struct __CTServerConnection *_sc;
    unsigned int _isReachable:1;
    NSLock *_autoFetchingLock;
}

+ (id)sharedController;
- (void)_registerLockUnlockStateNotification;
- (id)init;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (BOOL)isAutoFetchEnabled;
- (int)autoFetchMinutes;
- (void)_scheduleWakeForAutoFetchDate:(id)fp8;
- (void)_hasWokenUp;
- (void)startAutoFetchIfNeededAfterDelay:(double)fp8;
- (void)startAutoFetchAfterDelay:(double)fp8;
- (void)_startAutoFetchAfterDelayNumber:(id)fp8;
- (void)startAutoFetch;
- (void)stopAutoFetch;
- (void)lockStateChanged;
- (void)networkConfigurationChanged;
- (void)_scheduleFailedPushTimer;
- (void)_fetchOnAccountChange:(id)fp8;
- (void)_accountContentsDidChange:(id)fp8;
- (void)sleepIfNecessary;
- (void)_autoFetchBackground:(id)fp8;
- (void)_didFinishBackgroundAutofetch;
- (void)autoFetchMail;
- (void)_monitoredActivityDidStart:(id)fp8;
- (void)_monitoredActivityDidFinish:(id)fp8;
- (void)_autoFetchTimerFired:(id)fp8;
- (void)_failedPushTimerFired:(id)fp8;

@end

@interface MessageBodyLoader : NSObject
{
    NSConditionLock *_clientLock;
    NSMutableArray *_clients;
    NSMutableArray *_messages;
    NSMutableSet *_messageSet;
    NSMutableArray *_mainThreadReleases;
    NSMutableArray *_clientsToRemove;
    NSMutableArray *_clientsToAdd;
    NSMutableArray *_messagesToAdd;
    NSLock *_waitingActionsLock;
    ActivityMonitor *_currentMonitor;
    int _noNetworkFetching;
    NSCountedSet *_watchedUids;
    NSMutableSet *_permanentlyWatchedUids;
    NSMutableDictionary *_uidToStoreMapping;
    NSMutableSet *_uidsToProcess;
    NSLock *_watchedUidsLock;
    NSMutableArray *_pendingNewMessages;
    unsigned int _isRunning:1;
    unsigned int _isPaused:1;
}

+ (id)sharedLoader;
- (id)init;
- (void)dealloc;
- (void)_ntsAddWaitingClients:(id)fp8;
- (void)_ntsAddMessages:(id)fp8;
- (void)_ntsRemoveMessage:(id)fp8;
- (void)nextClient:(id *)fp8 orMessage:(id *)fp12;
- (void)_processWaitingStores;
- (void)_drainQueue;
- (void)_watchStore:(id)fp8;
- (void)_unwatchStore:(id)fp8;
- (void)_mapUid:(id)fp8 toStore:(id)fp12;
- (void)_messagesAdded:(id)fp8;
- (void)addClient:(id)fp8;
- (void)removeClient:(id)fp8;
- (void)addMessage:(id)fp8;
- (void)addMessages:(id)fp8;
- (void)permanentlyTrackStore:(id)fp8;
- (void)trackStore:(id)fp8;
- (void)untrackStore:(id)fp8;
- (void)processStore:(id)fp8;
- (void)_processStore:(id)fp8;
- (void)_setIsRunning:(BOOL)fp8;
- (BOOL)_isRunning;
- (void)_start;
- (void)pause;
- (void)resume;
- (void)enableNetworkFetching;
- (void)disableNetworkFetching;
- (void)applicationWillSuspend;
- (void)applicationWillResume;
- (void)releaseReleases;
- (id)_copySummaryForMessage:(id)fp8;
- (void)_loadMessage:(id)fp8;
- (void)_loadForClient:(id)fp8;

@end

@interface HTMLParser : NSObject
{
}

+ (id)plainTextFromHTML:(id)fp8;
+ (id)plainTextFromHTMLSnippet:(id)fp8;

@end

@interface MailAttachmentDetailViewController : MailViewController
{
    UIWebView *_webView;
    DelayedScroller *_scroller;
    UICheckeredPatternView *_checkeredView;
    MessageContentProgressLayer *_progressLayer;
    NSString *_navigationTitle;
    NSString *_lastContentID;
    int _lastOrientation;
    struct CGRect _oldScrollerBounds;
    struct CGPoint _oldScrollCenter;
    struct CGPoint _futureScrollOffset;
    struct CGRect _rotationRect;
    unsigned int _rotationEdgePin;
    struct CGPoint _savedOffset;
    unsigned int _isZooming:1;
    unsigned int _isHandlingGestures:1;
}

+ (BOOL)canRotateToOrientation:(int)fp8;
- (void)tearDownUI;
- (void)_loadCompleted;
- (void)_addProgressUI;
- (void)prepareUI;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)dealloc;
- (id)navigationTitle;
- (void)clearMessage;
- (void)webView:(id)fp8 decidePolicyForNewWindowAction:(id)fp12 request:(id)fp16 newFrameName:(id)fp20 decisionListener:(id)fp24;
- (void)webView:(id)fp8 decidePolicyForNavigationAction:(id)fp12 request:(id)fp16 frame:(id)fp20 decisionListener:(id)fp24;
- (void)webView:(id)fp8 resource:(id)fp12 didFinishLoadingFromDataSource:(id)fp16;
- (void)webView:(id)fp8 resource:(id)fp12 didFailLoadingWithError:(id)fp16 fromDataSource:(id)fp20;
- (void)loadTheStuff:(id)fp8;
- (void)viewWillBecomeVisible:(id)fp8;
- (BOOL)suspend;
- (BOOL)resume:(id)fp8;
- (void)willStartGesture:(int)fp8 inView:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (void)gestureDidChange:(int)fp8 inView:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (void)didFinishGesture:(int)fp8 inView:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (void)view:(id)fp8 didSetFrame:(struct CGRect)fp12 oldFrame:(struct CGRect)fp28;
- (void)scrollerWillStartSmoothScrolling:(id)fp8;
- (void)scrollerDidEndSmoothScrolling:(id)fp8;
- (void)scrollerWillStartDragging:(id)fp8;
- (void)scrollerDidEndDragging:(id)fp8 willSmoothScroll:(BOOL)fp12;
- (void)willRotateToOrientation:(int)fp8;
- (void)_centerRotationRect;
- (void)animateFirstHalfOfRotationForOrientation:(int)fp8;
- (void)didRotateToOrientation:(int)fp8;

@end

@interface DelayedScroller : UIScroller
{
    struct CGRect _newFrame;
    struct CGRect _newBounds;
    unsigned int _hasNewFrame:1;
    unsigned int _hasNewBounds:1;
    unsigned int _isFlushing:1;
}

- (void)setFrame:(struct CGRect)fp8;
- (void)setBounds:(struct CGRect)fp8;
- (void)setOffset:(struct CGPoint)fp8;
- (void)setContentSize:(struct CGSize)fp8;
- (struct CGRect)bounds;
- (struct CGRect)frame;
- (void)flushDelays;

@end

@interface MessageViewController : MailViewController <MessageMiniMallObserver>
{
    MessageContentAreaLayer *_messageLayer;
    TransferMailboxPicker *_mailboxPicker;
    BrowsingNavigationItem *_browseNavItem;
    MessageViewingContext *_viewingContext;
    MessageMiniMall *_mall;
    struct CGPoint _lastTransferOffset;
    UIView *_savedView;
    int _lastChangeDirection;
    unsigned int _blockingNetworkFetching:1;
    unsigned int _isDeleting:1;
    unsigned int _blockingInteractionEvents:1;
    unsigned int _shouldPopOnDeletion:1;
}

+ (BOOL)displaysButtonBar;
+ (BOOL)canRotateToOrientation:(int)fp8;
- (void)initializeUI;
- (void)tearDownUI;
- (void)dealloc;
- (void)viewWillRedisplay;
- (void)_updateViewingContextToMessage:(id)fp8;
- (void)displayMessage:(id)fp8;
- (void)viewWillBecomeVisible:(id)fp8;
- (void)updateBarButtons;
- (BOOL)suspend;
- (BOOL)resume:(id)fp8;
- (void)messageViewingContextContentLoadWillBegin:(id)fp8;
- (void)markMessageAsUnread:(id)fp8;
- (void)markMessageAsRead:(id)fp8;
- (void)messageViewingContextContentLoadCompleted:(id)fp8;
- (void)messageViewingContext:(id)fp8 attachmentLoadCompleted:(id)fp12;
- (void)transferButtonClicked:(id)fp8;
- (id)_browsingNavigationItem;
- (id)navigationItem;
- (unsigned int)_browseIndexForIndex:(unsigned int)fp8;
- (void)browsingNavigationItem:(id)fp8 didBrowseToItemIndex:(unsigned int)fp12;
- (void)transferMailboxPicker:(id)fp8 didSelectMailbox:(id)fp12;
- (void)transferMailboxPickerDidFinish:(id)fp8;
- (void)transferMailboxPicker:(id)fp8 saveOffset:(struct CGPoint)fp12;
- (void)cancelButtonClicked:(id)fp8;
- (void)didDismissAlertSheet:(id)fp8;
- (void)_handleReplyWithType:(int)fp8 message:(id)fp12 loadRestOfMessage:(BOOL)fp16 includeAttachments:(BOOL)fp20;
- (BOOL)shouldSnapshot;
- (void)updateTextSize;
- (void)replyButtonClicked:(id)fp8;
- (void)deleteButtonReallyClicked;
- (void)deleteButtonClicked:(id)fp8;
- (void)buttonBar:(id)fp8 didFinishAnimation:(int)fp12 forButton:(int)fp16;
- (void)_reallyDeleteVisibleMessage;
- (void)_deleteSuckEffectAnimationFinished;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)displayAlertWithButtons:(id)fp8 title:(id)fp12 redIndex:(int)fp16 context:(id)fp20;
- (void)cancelDisplay;
- (void)showMore:(id)fp8;
- (void)loadAttachment:(id)fp8 pluginClient:(id)fp12;
- (void)transferMessages:(id)fp8 toMailbox:(id)fp12;
- (void)willRotateToOrientation:(int)fp8;
- (void)halfRotateToOrientation:(int)fp8;
- (void)didRotateToOrientation:(int)fp8;
- (id)bottomView;
- (void)miniMallMessageCountChanged:(id)fp8;
- (void)miniMallAddedMessages:(id)fp8;
- (void)miniMallMessageChangedAtIndex:(id)fp8;
- (void)miniMallStartFetch:(id)fp8;
- (void)miniMallIndexChanged:(id)fp8;
- (void)miniMallSetCurrentIndex:(id)fp8;

@end

@interface MessageResponseContext : NSObject
{
    Message *message;
    int type;
    BOOL askedForReplyAll;
    BOOL loadRest;
    BOOL askingAboutPartial;
    BOOL askedAboutPartial;
    BOOL includeAttachments;
    BOOL askingAboutAttachments;
    BOOL askedAboutAttachments;
    BOOL askingAboutDelete;
}

@end

@interface MessageViewLayer : UIView
{
    MessageContentAreaLayer *_messageLayer;
    float _currentDegrees;
}

- (id)initWithSize:(struct CGSize)fp8 contentAreaLayer:(id)fp16;
- (id)messageContentAreaLayer;
- (void)purgeContentAreaLayer;
- (void)cancelHighlight;
- (void)updateForRedisplay;
- (void)displayMessage:(id)fp8;
- (void)forceViewLayout;
- (void)zoomWebView;

@end

@interface MMStartFetchContext : NSDictionary
{
    ActivityMonitor *_monitor;
}

- (id)monitor;
- (void)setMonitor:(id)fp8;
- (void)dealloc;

@end

@interface MMSetCurrentIndex : NSDictionary
{
    unsigned int _index;
    BOOL _countChanged;
}

- (void)setIndex:(unsigned int)fp8;
- (unsigned int)index;
- (void)setCountChanged:(BOOL)fp8;
- (BOOL)countChanged;

@end

@interface MMIndexChanged : NSDictionary
{
    int _delta;
    BOOL _countChanged;
}

- (void)setDelta:(int)fp8;
- (int)delta;
- (void)setCountChanged:(BOOL)fp8;
- (BOOL)countChanged;

@end

@interface MMMessageChangedContext : NSDictionary
{
    Message *_message;
    unsigned int _index;
}

- (void)setMessage:(id)fp8;
- (id)message;
- (void)setIndex:(unsigned int)fp8;
- (unsigned int)index;
- (void)dealloc;

@end

@interface MMMessagesAddedContext : NSDictionary
{
    BOOL _addedMessages;
    BOOL _userRefresh;
}

- (void)setAddedMessages:(BOOL)fp8;
- (BOOL)addedMessages;
- (void)setUserRefresh:(BOOL)fp8;
- (BOOL)userRefresh;

@end

@interface VCardAttachmentDetailViewController : MailViewController
{
    struct CGSize _contentSize;
    NSString *_navigationTitle;
    ABVCardViewer *_cardViewer;
    NSArray *_properties;
    struct CPRecord *_person;
}

- (void)tearDownUI;
- (void)prepareUI;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)dealloc;
- (id)navigationTitle;
- (void)viewWillBecomeVisible:(id)fp8;
- (BOOL)resume:(id)fp8;
- (void)vCardViewer:(id)fp8 presentPickingOverlay:(id)fp12;
- (void)vCardViewer:(id)fp8 dismissPickingOverlay:(id)fp12;
- (void)vCardViewer:(id)fp8 didResolveToPerson:(struct CPRecord *)fp12;
- (void)vCardViewerFinished:(id)fp8;

@end

@interface VCardAttachmentMultiViewController : MailViewController
{
    struct CGSize _contentSize;
    MessageContentProgressLayer *_progressLayer;
    NSString *_navigationTitle;
    NSString *_lastContentID;
    UIPreferencesTable *_table;
    UIAlertSheet *_alertSheet;
    ABVCardViewer *_cardViewer;
    UIAlertSheet *_unmergedAlertSheet;
    NSArray *_unmergedRecords;
    NSArray *_cards;
    NSArray *_cardProperties;
    NSLock *_lock;
    BOOL _busy;
    BOOL _cancel;
}

- (void)tearDownUI;
- (void)_loadCompleted;
- (void)_addProgressUI;
- (id)initForContentSize:(struct CGSize)fp8;
- (void)clearMessage;
- (void)dealloc;
- (id)navigationTitle;
- (void)viewWillBecomeVisible:(id)fp8;
- (void)loadVCardData:(id)fp8;
- (void)_vCardDataLoaded:(id)fp8;
- (BOOL)resume:(id)fp8;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (void)_showCardViewerForIndex:(int)fp8;
- (void)_unselectTable;
- (void)tableSelectionDidChange:(id)fp8;
- (void)_createNewContacts;
- (void)_addUnmergedRecords;
- (void)_showUnmergedContactsAlert;
- (id)_findMatchingCardsForRecord:(struct CPRecord *)fp8;
- (void)_addToExistingContacts;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)vCardViewer:(id)fp8 presentPickingOverlay:(id)fp12;
- (void)vCardViewer:(id)fp8 dismissPickingOverlay:(id)fp12;
- (void)vCardViewer:(id)fp8 didResolveToPerson:(struct CPRecord *)fp12;
- (void)vCardViewerFinished:(id)fp8;

@end

@interface MediaView : UIView
{
    UIMoviePlayerController *_moviePlayer;
    NSString *_path;
    int _oldMode;
}

- (void)dealloc;
- (void)playMovie:(id)fp8 withName:(id)fp12 andSize:(unsigned int)fp16;
- (void)moviePlayerDidFinishPlayback:(id)fp8 userExited:(BOOL)fp12;
- (void)moviePlayerReadyToBeginPlayback:(id)fp8;

@end

