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

struct CGColor;

struct CGImage;

struct CGPoint {
    float x;
    float y;
};

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

struct CGSize {
    float width;
    float height;
};

struct CPRecord;

struct _NSZone;

struct __CFArray;

struct __CFMachPort;

struct __CFUserNotification;

struct __CTCall;

struct __CTServerConnection;

struct __GSEvent;

struct __GSFont;

typedef struct {
    struct CGRect _field1;
    struct CGRect _field2;
    struct CGRect _field3;
} CDAnonymousStruct1;

/*
 * File: Applications/MobilePhone.app/MobilePhone
 */

@protocol DialerNumberDisplay
- (id)text;
- (void)setText:(id)fp8 needsFormat:(BOOL)fp12;
- (void)setName:(id)fp8;
- (id)name;
- (void)setLabel:(id)fp8;
- (void)delete;
@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 RecentsViewController <NSObject>
- (id)layer;
- (id)navigationTitle;
- (id)navigationAccessoryView;
- (void)tearDown;
- (id)rightNavigationButtonTitle;
@end

@interface SpeedDialView : UITransitionView
{
    UIView *_contentLayer;
    UINavigationBar *_navBar;
    UITable *_table;
    ABPeoplePicker *_peoplePicker;
    UITransitionView *_contentTransitionLayer;
    UIView *_cardViewer;
    ABFavoritesEntry *_selectedABFavoritesEntry;
    UIView *_flyingView;
    int _viewMode;
    int _selectedUID;
    unsigned int _editable:1;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setEditable:(BOOL)fp8;
- (void)setPrompt:(id)fp8;
- (void)showList:(BOOL)fp8;
- (BOOL)shouldSnapshot;
- (void)saveState;
- (void)restoreState;
- (void)suspend:(int)fp8;
- (void)viewWillBeDisplayedAfterPhoneCall:(id)fp8;
- (void)updateNavBarButtonsForMode:(int)fp8;
- (void)_favoritesListContentsDidChange:(id)fp8;
- (void)_entryChanged:(id)fp8;
- (void)_clearLastDialedDefaults;
- (void)showCardViewerForPerson:(struct CPRecord *)fp8 withTitle:(id)fp12 animate:(BOOL)fp16;
- (BOOL)transition:(int)fp8 fromView:(id)fp12 toView:(id)fp16;
- (void)_addButtonClicked:(id)fp8;
- (void)_editButtonClicked:(id)fp8;
- (void)_doneButtonClicked:(id)fp8;
- (void)peoplePickerDidEndPicking:(id)fp8;
- (void)transitionViewDidComplete:(id)fp8;
- (void)_addEntryFromPeoplePickerForPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16 animateView:(id)fp20;
- (void)peoplePicker:(id)fp8 selectedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (void)peoplePicker:(id)fp8 willDisplayMembersOfGroup:(struct CPRecord *)fp12;
- (BOOL)peoplePicker:(id)fp8 shouldShowCardForPerson:(struct CPRecord *)fp12;
- (void)_addEntryAnimationCompleted:(id)fp8;
- (int)numberOfRowsInTable:(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 disclosureClickableForRow:(int)fp12;
- (BOOL)table:(id)fp8 canDeleteRow:(int)fp12;
- (void)tableSelectionDidChange:(id)fp8;
- (void)table:(id)fp8 deleteRow:(int)fp12;
- (void)table:(id)fp8 disclosureClickedForRow:(int)fp12;
- (int)selectedPersonUID;
- (void)table:(id)fp8 movedRow:(int)fp12 toRow:(int)fp16;
- (void)navigationBar:(id)fp8 poppedItem:(id)fp12;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)unknownPersonCardViewer:(id)fp8 didResolveToPerson:(struct CPRecord *)fp12;
- (void)unknownPersonCardViewer:(id)fp8 presentPickingOverlay:(id)fp12;
- (void)unknownPersonCardViewer:(id)fp8 dismissPickingOverlay:(id)fp12;
- (void)cardViewer:(id)fp8 selectedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (void)cardViewer:(id)fp8 presentActionsSheet:(id)fp12;
- (void)cardViewer:(id)fp8 dismissActionsSheet:(id)fp12;

@end

@interface UIView (SD_Private)
- (id)_createImageView;
@end

@interface SpeedDialCell : UIImageAndTextTableCell
{
    UITextLabel *_labelTextLabel;
}

+ (struct CGColor *)defaultBackgroundColor;
- (float)disclosureRightMargin;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (struct CGColor *)_createLabelColor;
- (void)updateHighlightColors;
- (id)createRemoveControl;
- (void)setLabel:(id)fp8;
- (void)setDisplayName:(id)fp8;
- (void)_setLabelTextLabelHidden:(BOOL)fp8;
- (void)removeControlWillShowRemoveConfirmation:(id)fp8;
- (void)removeControlWillHideRemoveConfirmation:(id)fp8;
- (struct CGPoint)textInset;
- (void)layoutSubviews;

@end

@interface PhoneDock : UIButtonBar
{
    int _lastSelection;
}

+ (float)defaultHeight;
+ (void)preloadImages;
- (id)initInView:(id)fp8 withFrame:(struct CGRect)fp12;
- (int)selectedViewType;
- (void)setSelectedViewType:(int)fp8;
- (void)setVisibleButtons:(int)fp8;
- (void)setBadge:(int)fp8 forViewType:(int)fp12;
- (void)_buttonClicked:(id)fp8;

@end

@interface PhoneViewController : NSObject
{
    UIView *_view;
    unsigned int _editable:1;
}

+ (Class)controllerClassForViewType:(int)fp8;
+ (id)controllerForViewType:(int)fp8 creatingIfNecessary:(BOOL)fp12;
+ (int)viewType;
+ (int)badge;
+ (int)statusBarMode;
+ (id)defaultPNGName;
- (id)viewWithFrame:(struct CGRect)fp8;
- (void)setEditable:(BOOL)fp8;
- (BOOL)isEditable;
- (BOOL)showsDesktop;
- (BOOL)showsDock;
- (void)dealloc;
- (int)selectedPersonUID;
- (BOOL)shouldSnapshot;
- (void)suspend:(int)fp8;
- (void)prepareForSnapshot;
- (void)viewWillBeDisplayed;
- (void)viewWillBeDisplayedAfterPhoneCall:(id)fp8;
- (void)viewWillBeRedisplayed;
- (void)handleURL:(id)fp8;
- (void)significantTimeChange;
- (void)proximityStateChanged:(BOOL)fp8;

@end

@interface PhoneApplication : UIApplication
{
    UIWindow *_window;
    UIView *_contentView;
    UITransitionView *_transitionView;
    PhoneDock *_dock;
    UIImageView *_desktopView;
    UIImage *_currentDesktopImage;
    PhoneCall *_currentDesktopCall;
    PhoneCall *_pendingDesktopCall;
    UIView *_slidingView;
    int _currentViewType;
    int _preCallViewType;
    int _queuedViewType;
    PhoneViewController *_previousController;
    PhoneViewController *_currentController;
    UIAlertSheet *_currentAlertSheet;
    NSString *_prompt;
    double _launchTime;
    int _badges[6];
    int _badgeTotal;
    unsigned int _badgePluses:6;
    unsigned int _isBootLaunch:1;
    unsigned int _urlCameWithActivation:1;
    unsigned int _urlIsInternal:1;
    unsigned int _inCallIsInBack:1;
    unsigned int _isEndingCall:1;
    unsigned int _isDialingCall:1;
    unsigned int _isAnimatingDial:1;
    unsigned int _isSwitchingView:1;
    unsigned int _suspendedInCall:1;
    unsigned int _isAnimating:1;
    unsigned int _isAnimatingToPreCallView:1;
    unsigned int _usesPrompt:1;
    unsigned int _inCallOverlayShowsDock:1;
    unsigned int _nextSuspensionIsForCallWaiting:1;
    unsigned int _desktopIsDefault:1;
    unsigned int _urlCameInstantFakeLocked:1;
    unsigned int _suspendingUnderLock:1;
}

- (void)performCommonInitialization;
- (void)applicationDidFinishLaunching:(id)fp8;
- (void)applicationDidFinishLaunchingSuspended:(id)fp8;
- (id)nameOfDefaultImageToUpdateAtSuspension;
- (struct CGImage *)createApplicationDefaultPNG;
- (void)_putSuspendSettingsInDictionary:(id)fp8 forControllerClass:(Class)fp12;
- (int)_didSuspendInCall:(Class *)fp8;
- (BOOL)applicationSuspend:(struct __GSEvent *)fp8 settings:(id)fp12;
- (void)applicationResume:(struct __GSEvent *)fp8;
- (void)applicationDidResumeForEventsOnly;
- (void)applicationWillSuspendForEventsOnly;
- (void)_tearDownUI;
- (void)_initializeUI;
- (void)dealloc;
- (void)significantTimeChange;
- (void)userDefaultsDidChange:(id)fp8;
- (BOOL)isFirstBootLaunch;
- (double)launchTime;
- (void)proximityStateChanged:(BOOL)fp8;
- (void)presentAlertSheet:(id)fp8;
- (void)dismissAlertSheet;
- (BOOL)isDisplayingSheet;
- (void)setCurrentView:(int)fp8 animating:(BOOL)fp12;
- (void)_logSwitch;
- (id)currentViewController;
- (void)transitionViewDidComplete:(id)fp8;
- (void)_suspendPreviousController;
- (void)didReceiveMemoryWarning;
- (void)_displayedCallsChanged:(id)fp8;
- (void)setInCallPrompt:(id)fp8;
- (void)setInCallOverlayShowsDock:(BOOL)fp8;
- (id)promptForController:(id)fp8;
- (BOOL)dismissCurrentView;
- (int)previouslySelectedPersonUID;
- (void)_recacheDefaultDesktopImage;
- (void)_phoneCallIdentityChanged:(id)fp8;
- (id)_desktopImage;
- (void)_reallyUpdateDesktopImageForCall:(id)fp8;
- (void)_updateDesktopImage:(id)fp8;
- (void)_updateDesktopImageAfterInCallControllerSuspend:(id)fp8;
- (void)_setDesktopVisible:(BOOL)fp8;
- (id)contentView;
- (BOOL)runTest:(id)fp8 options:(id)fp12;
- (void)setIgnoresInteractionEvents:(BOOL)fp8;
- (id)_dock;
- (void)dockSelectionChanged:(id)fp8;
- (void)dockSelectionReselected:(id)fp8;
- (void)_adjustViewToAccommodateDockInView:(id)fp8 pinningX:(BOOL)fp12;
- (void)hideDockViaView:(id)fp8;
- (void)showDockViaView:(id)fp8;
- (void)restoreDockToOwner;
- (BOOL)dockIsInPlace;
- (void)_setDockVisible:(BOOL)fp8;
- (void)setBadge:(int)fp8 forView:(int)fp12;
- (int)badgeForView:(int)fp8;
- (void)_updateApplicationBadge;
- (BOOL)_shouldAnimateResumption;
- (void)openURL:(id)fp8;
- (void)applicationOpenToShortCut:(id)fp8;
- (void)applicationOpenURL:(id)fp8;
- (BOOL)shouldAnimateLockIn;
- (BOOL)shouldHangUpOnLock;
- (void)beginLockSuspension;
- (void)applicationWillSuspendUnderLock;
- (void)applicationDidResumeFromUnderLock;
- (BOOL)applicationIsReadyToSuspend;
- (void)handleEvent:(struct __GSEvent *)fp8;
- (void)_animateOutgoingCallWithPreviousView:(id)fp8 startTime:(double)fp12;
- (void)_animateDialToInCallView;
- (void)_performDialOfNumber:(id)fp8 withCall:(id)fp12;
- (void)_currentViewZoomedOut;
- (void)_desktopFadedIn;
- (BOOL)shouldAttemptPhoneCall;
- (BOOL)dialPhoneNumber:(id)fp8 forUID:(int)fp12 dialAssist:(BOOL)fp16;
- (BOOL)dialPhoneNumber:(id)fp8 dialAssist:(BOOL)fp12;
- (BOOL)dialPhoneNumber:(id)fp8;
- (BOOL)dialVoicemail;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;

@end

@interface SpeedDialController : PhoneViewController
{
    unsigned int _listNeedsUpdate:1;
    unsigned int _suspended:1;
}

+ (int)viewType;
- (id)init;
- (id)viewWithFrame:(struct CGRect)fp8;
- (void)viewWillBeDisplayed;
- (void)viewWillBeRedisplayed;
- (void)viewWillBeDisplayedAfterPhoneCall:(id)fp8;
- (void)dealloc;
- (void)setEditable:(BOOL)fp8;
- (int)selectedPersonUID;
- (BOOL)shouldSnapshot;
- (void)suspend:(int)fp8;
- (void)handleURL:(id)fp8;
- (void)_addressBookChanged;

@end

@interface AddressBookController : PhoneViewController
{
}

+ (int)viewType;
- (id)init;
- (void)dealloc;
- (void)_updatePickerPhoneNumber:(id)fp8;
- (void)_updatePickerBanner:(id)fp8;
- (id)viewWithFrame:(struct CGRect)fp8;
- (void)viewWillBeDisplayed;
- (void)viewWillBeRedisplayed;
- (void)setEditable:(BOOL)fp8;
- (BOOL)shouldSnapshot;
- (void)suspend:(int)fp8;
- (void)viewWillBeDisplayedAfterPhoneCall:(id)fp8;
- (void)peoplePicker:(id)fp8 selectedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (id)buttonBarForPeoplePicker:(id)fp8;
- (void)peoplePicker:(id)fp8 willTransitionToFullScreenViewFromView:(id)fp12;
- (void)peoplePicker:(id)fp8 willTransitionFromFullScreenViewToView:(id)fp12;
- (void)peoplePicker:(id)fp8 didTransitionFromFullScreenViewToView:(id)fp12;
- (void)peoplePickerDidEndPicking:(id)fp8;
- (void)peoplePicker:(id)fp8 presentAlertSheet:(id)fp12;
- (void)peoplePicker:(id)fp8 dismissAlertSheet:(id)fp12;

@end

@interface RecentsController : PhoneViewController
{
    UIView *_navAndTransitionLayer;
    UINavigationBar *_navBar;
    UITransitionView *_transitionLayer;
    id <RecentsViewController> _currentController;
    UIView *_overlay;
    int _viewedPersonUID;
    unsigned int _suspended:1;
}

+ (void)initialize;
+ (id)sharedInstance;
+ (int)viewType;
+ (int)badge;
+ (void)_callDataChanged;
- (void)tearDownUI;
- (void)dealloc;
- (id)init;
- (id)viewWithFrame:(struct CGRect)fp8;
- (void)viewWillBeDisplayed;
- (void)viewWillBeRedisplayed;
- (void)viewWillBeDisplayedAfterPhoneCall:(id)fp8;
- (int)selectedPersonUID;
- (BOOL)shouldSnapshot;
- (void)suspend:(int)fp8;
- (struct CGRect)contentRect;
- (struct CGRect)overlayRect;
- (void)_updateLastViewedDate;
- (void)_updateNavBarButtons;
- (void)_hideNavBarAccessoryView:(id)fp8;
- (void)_showNavBarAccessoryView:(id)fp8;
- (void)setCurrentViewController:(id)fp8 usingTransition:(int)fp12 alwaysPush:(BOOL)fp16;
- (void)showRecentsListUsingTransition:(int)fp8;
- (void)_callDataChanged;
- (void)showCallDetail:(id)fp8 animate:(BOOL)fp12;
- (void)showCallListAnimating:(BOOL)fp8;
- (void)navigationBar:(id)fp8 poppedItem:(id)fp12;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)showOverlay:(id)fp8;
- (void)dismissOverlay:(BOOL)fp8;
- (void)transitionViewDidComplete:(id)fp8;
- (void)significantTimeChange;
- (void)_confirmClearRecents;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;

@end

@interface RecentCall : NSObject
{
    int _type;
    NSString *_number;
    NSDate *_date;
    NSString *_compositeName;
    int _uid;
    int _identifier;
    unsigned int _numberIsFormatted:1;
    unsigned int _numberIsBlocked:1;
}

- (id)initWithCTCall:(struct __CTCall *)fp8 givenCountryCode:(id)fp12;
- (void)dealloc;
- (BOOL)canCoalesceWithCall:(id)fp8 givenCountryCode:(id)fp12;
- (void)setType:(int)fp8;
- (int)type;
- (void)setNumber:(id)fp8;
- (id)number;
- (id)formattedNumber;
- (BOOL)numberIsBlocked;
- (void)setDate:(id)fp8;
- (id)date;
- (id)dates;
- (id)compositeName;
- (void)setUid:(int)fp8;
- (int)uid;
- (int)numberIdentifier;
- (void)setNumberIdentifier:(int)fp8;
- (void)uncacheIdentity;

@end

@interface RecentMultiCall : RecentCall
{
    NSMutableArray *_dates;
}

+ (id)callByCoalescing:(id)fp8 withPreviousCall:(id)fp12 givenCountryCode:(id)fp16;
- (void)dealloc;
- (void)addOccurrence:(id)fp8;
- (int)numberOfOccurrences;
- (id)occurrenceAtIndex:(int)fp8;
- (id)dates;

@end

@interface RecentsListController : NSObject <RecentsViewController>
{
    RecentsListLayer *_layer;
    int _filter;
}

+ (void)uncacheScrollPosition;
+ (void)purgeCallData;
- (id)init;
- (void)dealloc;
- (id)layer;
- (void)reloadCallData;
- (void)significantTimeChange;
- (void)viewWillBeDisplayed;
- (void)displayScrollerIndicators;
- (void)loadCallData;
- (id)navigationTitle;
- (id)navigationAccessoryView;
- (id)rightNavigationButtonTitle;
- (BOOL)shouldSnapshot;
- (id)callForDate:(id)fp8;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (BOOL)table:(id)fp8 disclosureClickableForRow:(int)fp12;
- (void)tableSelectionDidChange:(id)fp8;
- (void)filteredTableAnimationFinished:(id)fp8;
- (void)table:(id)fp8 disclosureClickedForRow:(int)fp12;
- (void)setTableFilter:(int)fp8;
- (int)tableFilter;
- (struct __CFArray *)copyOrderedIndexesForFilter:(int)fp8;
- (void)tearDown;
- (void)_addressBookChanged;

@end

@interface RecentsListLayer : UIView
{
    FilteredTable *_table;
    ToggleButton *_toggleButton;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setDataSource:(id)fp8;
- (void)setDelegate:(id)fp8;
- (float)scrollOffset;
- (void)setScrollOffset:(float)fp8;
- (void)displayScrollerIndicators;
- (void)clearSelection;
- (void)setTableFilter:(int)fp8 animate:(BOOL)fp12;
- (void)setTableFilter:(int)fp8;
- (void)segmentedControl:(id)fp8 selectedSegmentChanged:(int)fp12;
- (void)reloadData;
- (id)accessoryView;

@end

@interface RecentCallCell : UITableCell
{
    int _callType;
    NSString *_name;
    NSString *_countString;
    double _date;
}

+ (id)_sharedDateLabel;
- (void)dealloc;
- (float)disclosureRightMargin;
- (void)setCallType:(int)fp8;
- (void)setName:(id)fp8;
- (void)setCount:(int)fp8;
- (void)setDate:(id)fp8;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;
- (id)_automationID;

@end

@interface FilteredTable : UITable
{
    struct __CFArray *_orderedIndexes;
    NSMutableArray *_postAnimationOrderedRows;
    id _realDataSource;
    id _realDelegate;
    unsigned int _animating:1;
}

- (void)dealloc;
- (void)setDataSource:(id)fp8;
- (void)setDelegate:(id)fp8;
- (id)delegate;
- (id)_preparedRowCellForDataSourceRow:(int)fp8 layoutRow:(int)fp12 givenRowCount:(int)fp16;
- (id)viewAtColumn:(int)fp8 row:(int)fp12;
- (struct CGRect)rectOfRow:(int)fp8;
- (void)setFilteredIndexes:(struct __CFArray *)fp8 animate:(BOOL)fp12;
- (void)clearVisibleCellsWithoutRemovingFromSuperview;
- (void)_finishAnimation:(id)fp8 finished:(id)fp12 context:(void *)fp16;
- (void)_finishAnimation;
- (void)setOffset:(struct CGPoint)fp8;
- (id)createPreparedCellForRow:(int)fp8 column:(int)fp12;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (BOOL)table:(id)fp8 disclosureClickableForRow:(int)fp12;
- (float)table:(id)fp8 heightForRow:(int)fp12;
- (int)selectedRow;
- (void)tableSelectionDidChange:(id)fp8;
- (void)tableRowSelected:(id)fp8;
- (void)table:(id)fp8 disclosureClickedForRow:(int)fp12;

@end

@interface RecentCallDetailController : NSObject <RecentsViewController>
{
    RecentCall *_call;
    UIView *_layer;
}

- (void)dealloc;
- (void)setCall:(id)fp8;
- (id)call;
- (id)navigationTitle;
- (id)navigationAccessoryView;
- (id)rightNavigationButtonTitle;
- (id)layer;
- (void)tearDown;
- (void)unknownPersonCardViewer:(id)fp8 presentPickingOverlay:(id)fp12;
- (void)unknownPersonCardViewer:(id)fp8 dismissPickingOverlay:(id)fp12;
- (void)unknownPersonCardViewer:(id)fp8 didResolveToPerson:(struct CPRecord *)fp12;
- (void)cardViewer:(id)fp8 selectedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (void)cardViewer:(id)fp8 presentActionsSheet:(id)fp12;
- (void)cardViewer:(id)fp8 dismissActionsSheet:(id)fp12;

@end

@interface VoicemailController : PhoneViewController
{
}

+ (void)initialize;
+ (void)_observeNotificationsForService:(id)fp8;
+ (void)_newService;
+ (int)badge;
+ (void)_unreadCountChanged;
+ (void)_prefsChanged:(id)fp8;
+ (void)playVoicemailSound;
+ (BOOL)hasEnhancedVoicemail;
+ (BOOL)enhancedVoicemailConfigured;
+ (void)_voicemailsAdded:(id)fp8;
+ (id)defaultPNGName;
+ (int)viewType;
+ (void)_subscriptionStatusChanged:(id)fp8;
+ (void)_parametersChanged;
+ (void)_passwordNeeded:(id)fp8;
+ (void)handlePasswordRequestResponse:(struct __CFUserNotification *)fp8 flags:(unsigned long)fp12;
+ (void)_passwordRequestCancelled:(id)fp8;
- (void)dealloc;
- (id)viewWithFrame:(struct CGRect)fp8;
- (void)viewWillBeDisplayed;
- (void)viewWillBeRedisplayed;
- (void)viewWillBeDisplayedAfterPhoneCall:(id)fp8;
- (int)selectedPersonUID;
- (BOOL)shouldSnapshot;
- (void)suspend:(int)fp8;
- (void)proximityStateChanged:(BOOL)fp8;
- (void)significantTimeChange;
- (void)_serviceRevoked:(id)fp8;

@end

@interface VoicemailView : UITransitionView
{
    UIView *_contentLayer;
    UINavigationBar *_navBar;
    VoicemailControlsView *_controlsView;
    VoicemailOfflineView *_offlineView;
    VoicemailMailboxController *_inboxController;
    VoicemailMailboxController *_trashController;
    VoicemailMailboxController *_currentController;
    UIView *_greetingView;
    ABPeoplePicker *_peoplePicker;
    UITransitionView *_contentTransitionLayer;
    UIView *_tableAndButtonBarLayer;
    UIView *_cardViewer;
    VoicemailSetupPlacard *_setupPlacard;
    VoicemailSetupController *_setupController;
    VoicemailAudioRoutingController *_audioRoutingController;
    VoicemailPlaybackController *_playbackController;
    unsigned int _viewedPersonUID;
    unsigned int _syncingTableSelection:1;
    unsigned int _startPlayingAfterFakeLoadData:1;
    unsigned int _isDismissingCardViewer:1;
    unsigned int _supressNavUnreadCount:1;
    unsigned int _suppressPasswordRequest:1;
    unsigned int _suspended:1;
    unsigned int _isShowingListProgress:1;
    unsigned int _showTrash:1;
    unsigned int _isRedisplaying:1;
    unsigned int _showHeaderProgress:1;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)viewWillBeDisplayed;
- (void)viewWillBeRedisplayed;
- (void)viewWillBeDisplayedAfterPhoneCall:(id)fp8;
- (void)suspend:(int)fp8;
- (void)_lazySync;
- (void)proximityStateChanged:(BOOL)fp8;
- (BOOL)suspended;
- (void)transitionViewDidComplete:(id)fp8;
- (int)selectedPersonUID;
- (BOOL)shouldSnapshot;
- (void)_updateNavTitle;
- (void)_updateNavBarButtons;
- (void)_trashedCountChanged:(id)fp8;
- (void)_updateProgressPref:(id)fp8;
- (void)_clearLastDialedDefaults;
- (void)_showCardViewerForRecord:(void *)fp8 displayName:(id)fp12 animate:(BOOL)fp16;
- (void)_presentError:(id)fp8 blockingOthers:(BOOL)fp12;
- (void)_onlineStateChanged;
- (void)_mwiStateChanged;
- (void)_activationFailed:(id)fp8;
- (void)voicemailOfflineViewCallButtonClicked:(id)fp8;
- (void)voicemailSetupPlacardClicked:(id)fp8;
- (void)_checkForFailedSetup;
- (void)voicemailSetupController:(id)fp8 didCompleteSuccessfully:(BOOL)fp12;
- (void)voicemailPlaybackController:(id)fp8 updateElapsedTime:(double)fp12 duration:(double)fp20 playableDuration:(double)fp28;
- (void)_updatePlaybackControlsForNullRecord;
- (void)voicemailPlaybackController:(id)fp8 playbackPathDidChange:(id)fp12;
- (void)voicemailPlaybackController:(id)fp8 speakerEnabledStateChanged:(BOOL)fp12;
- (BOOL)voicemailPlaybackControllerShouldEnableProximity:(id)fp8;
- (void)voicemailPlaybackController:(id)fp8 hadPlaybackError:(id)fp12;
- (void)voicemailControlsView:(id)fp8 buttonClicked:(int)fp12;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)_prepareControlsViewForTransition;
- (void)_setupInboxControlButtonsWithDuration:(double)fp8 forDefaultPNG:(BOOL)fp16;
- (void)_setupTrashControlButtonsWithDuration:(double)fp8;
- (void)voicemailMailboxControllerExtraRowSelected:(id)fp8;
- (void)voicemailMailboxController:(id)fp8 entrySelected:(void *)fp12;
- (void)voicemailMailboxController:(id)fp8 entryDisclosureSelected:(void *)fp12 usingDisplayName:(id)fp16;
- (void)_mailboxSetupStateChanged;
- (void)_checkMailboxUsage;
- (void)_updateProgressIndicator;
- (void)_voicemailTaskStarted:(id)fp8;
- (void)_voicemailTaskEnded:(id)fp8;
- (void)significantTimeChange;
- (void)navigationBar:(id)fp8 poppedItem:(id)fp12;
- (BOOL)navigationBar:(id)fp8 shouldPushItem:(id)fp12;
- (BOOL)navigationBar:(id)fp8 shouldPopItem:(id)fp12;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)audioRoutingControllerDevicesChanged:(id)fp8;
- (void)audioRoutingControllerDidFinishPicking:(id)fp8;
- (void)audioRoutingController:(id)fp8 setSpeakerPhoneEnabled:(BOOL)fp12;
- (BOOL)speakerEnabledForAudioRoutingController:(id)fp8;
- (id)activeAudioRouteForAudioRoutingController:(id)fp8;
- (void)_restorePlaybackController;
- (void)_getRidOfGreetingView;
- (void)voicemailGreetingEditViewDoneButtonClicked:(id)fp8;
- (void)unknownPersonCardViewer:(id)fp8 didResolveToPerson:(struct CPRecord *)fp12;
- (void)unknownPersonCardViewer:(id)fp8 presentPickingOverlay:(id)fp12;
- (void)unknownPersonCardViewer:(id)fp8 dismissPickingOverlay:(id)fp12;
- (void)cardViewer:(id)fp8 selectedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (void)cardViewer:(id)fp8 presentActionsSheet:(id)fp12;
- (void)cardViewer:(id)fp8 dismissActionsSheet:(id)fp12;

@end

@interface VoicemailCell : UITableCell
{
    NSString *_displayName;
    UIProgressIndicator *_progressIndicator;
    double _date;
    unsigned int _showUnreadMarker:1;
    unsigned int _playing:2;
}

+ (id)_sharedPlayIndicator;
+ (id)_sharedPauseIndicator;
+ (id)_sharedDateLabel;
- (void)dealloc;
- (float)disclosureRightMargin;
- (void)setDisplayName:(id)fp8;
- (void)setDate:(double)fp8;
- (void)setUnread:(BOOL)fp8;
- (void)_removePlaybackMarkers;
- (void)_updatePlayingMarkers;
- (void)setPlaying:(BOOL)fp8;
- (void)setShowsProgressIndicator:(BOOL)fp8;
- (void)setSelected:(BOOL)fp8 withFade:(BOOL)fp12;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;
- (id)_automationID;

@end

@interface VoicemailPlaybackController : NSObject
{
    void *_currentVoicemailRecord;
    NSString *_currentPlaybackPath;
    NSTimer *_progressUpdateTimer;
    NSTimer *_seekTimer;
    NSTimer *_delayedPlayTimer;
    id _delegate;
    AVController *_avController;
    int _lastSeekedToSecond;
    double _lastSeekedToDouble;
    float _preferredPlaybackRate;
    float _progressWidth;
    unsigned int _currentRecordExpectedLength;
    unsigned int _currentRecordLength;
    double _playableDuration;
    unsigned int _finishedPlayback:1;
    unsigned int _ignoreElapsedTimeInUI:1;
    unsigned int _scrubbingWithProgressBar:1;
    unsigned int _displaying2xPlaybackRate:1;
    unsigned int _manuallyAdjustingPlaybackState:1;
    unsigned int _storeNeedsSave:1;
    unsigned int _speakerEnabled:1;
    unsigned int _finishedWhenScrubbed:1;
    unsigned int _pendingSeek:1;
    unsigned int _byeByeAV:1;
}

- (id)init;
- (void)setDelegate:(id)fp8;
- (void)dealloc;
- (void)suspend:(int)fp8;
- (void)_updatePlayableDuration;
- (void)_addItemForCurrentVoicemailRecordIfNecessary;
- (void)_saveStoreIfNecessary;
- (void)setCurrentVoicemailRecord:(void *)fp8;
- (void)setCurrentPlaybackPath:(id)fp8;
- (id)currentPlaybackPath;
- (void *)currentVoicemailRecord;
- (BOOL)_hasVoicemailData;
- (id)soundController;
- (void)_updateAudioCategory;
- (void)setProgressWidth:(float)fp8;
- (id)_delayedPlay:(id)fp8;
- (void)_clearDelayedPlayback;
- (id)playAllowingDelay:(BOOL)fp8 expectedLength:(unsigned int)fp12 currentLength:(unsigned int)fp16;
- (id)playAllowingDelay:(BOOL)fp8;
- (void)setCurrentVoicemailRecordDataLength:(unsigned int)fp8;
- (void)stop;
- (void)_delayedTogglePlay:(id)fp8;
- (void)togglePlayAllowingDelay:(BOOL)fp8;
- (void)toggleRate;
- (BOOL)isPlaying;
- (BOOL)isPlayingDoubleRate;
- (BOOL)isPlayingWithDelay;
- (void)proximityStateChanged:(BOOL)fp8;
- (id)_speakerRouteSet;
- (id)activeAudioRoute;
- (void)setSpeakerEnabled:(BOOL)fp8;
- (BOOL)speakerEnabled;
- (void)routeChangedNotification:(id)fp8;
- (void)updateProximitySetting;
- (void)_updateProgressUIProgress:(BOOL)fp8;
- (void)seekingStarted;
- (void)_updateSeekedValue;
- (void)_stopSeekTimer;
- (void)seekingEnded;
- (BOOL)scrubberControlShouldBeginScrubbing:(id)fp8;
- (void)scrubberControl:(id)fp8 didEnterScrubbingState:(BOOL)fp12;
- (void)scrubberControl:(id)fp8 didChangeToScrubValue:(float)fp12;
- (void)_timeJumped:(id)fp8;
- (void)_updateProgress:(id)fp8;
- (void)_startTimer;
- (void)_stopTimer;
- (void)voicemailPlaybackStateDidChangeItemNotification:(id)fp8;
- (void)voicemailPlaybackStateDidStopNotification:(id)fp8;
- (void)voicemailPlaybackRateChangedNotification:(id)fp8;
- (void)voicemailControllerDied:(id)fp8;
- (void)_enableVolumeChanges:(BOOL)fp8;
- (void)_applicationReactivated:(id)fp8;
- (void)_applicationDeactivated:(id)fp8;

@end

@interface DialerCallButton : UIThreePartButton
{
    struct CGSize _iconOffset;
}

- (void)setIconOffset:(struct CGSize)fp8;
- (BOOL)titleIsTruncated;
- (void)drawButtonPart:(int)fp8 inRect:(struct CGRect)fp12;

@end

@interface DialerButton : UIImageView
{
    DialerController *_controller;
}

- (void)setDialerController:(id)fp8;
- (void)setHighlighted:(BOOL)fp8;

@end

@interface DialerController : PhoneViewController
{
    UIView *_dialerView;
    UIView<DialerNumberDisplay> *_lcd;
    UINavigationBar *_navBar;
    DialerPhonePad *_pad;
    DialerCallButton *_callButton;
    DialerButton *_addContactButton;
    DialerButton *_deleteButton;
    UIView *_newContactView;
    NSTimer *_deleteTimer;
    NSTimer *_lookupTimer;
    NSString *_myPrefix;
    int _personUID;
    unsigned int _numberChanged:1;
    unsigned int _calledNumber:1;
    unsigned int _inCallMode:1;
    unsigned int _didDeleteRepeat:1;
}

+ (int)viewType;
+ (int)statusBarMode;
+ (id)defaultPNGName;
- (id)imageForButton:(id *)fp8 forState:(int)fp12;
- (BOOL)_callButtonTitleWillFit;
- (id)viewWithFrame:(struct CGRect)fp8;
- (void)viewWillBeDisplayed;
- (void)dealloc;
- (void)_saveAndClear;
- (void)suspend:(int)fp8;
- (void)prepareForSnapshot;
- (BOOL)shouldSnapshot;
- (void)_stopLookupTimer;
- (void)_updateName;
- (int)selectedPersonUID;
- (void)_updateCallButtonEnabledState:(id)fp8 updateNameNow:(BOOL)fp12;
- (void)_updateButtonImage:(id)fp8;
- (void)_callButtonPressed:(id)fp8;
- (void)phonePad:(id)fp8 appendString:(id)fp12;
- (void)phonePadDeleteLastDigit:(id)fp8;
- (id)_myPrefix;
- (void)phonePad:(id)fp8 keyDown:(BOOL)fp12;
- (void)phonePad:(id)fp8 keyUp:(BOOL)fp12;
- (void)_dialVoicemail;
- (void)_cancelVoicemailDial;
- (void)_addToNewContact;
- (void)_addButtonClicked:(id)fp8;
- (void)didDismissAlertSheet:(id)fp8;
- (void)_dismissNewContactView:(BOOL)fp8;
- (void)transitionViewDidComplete:(id)fp8;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)newContactViewCancelled:(id)fp8;
- (void)newContactViewCompleted:(id)fp8 withNewPerson:(struct CPRecord *)fp12;
- (void)peoplePickerDidEndPicking:(id)fp8;
- (void)peoplePicker:(id)fp8 editedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (void)_deleteRepeat;
- (void)_startDeleteTimer;
- (void)_stopDeleteTimer;
- (void)_deleteButtonClicked:(id)fp8;
- (void)_deleteButtonDown:(id)fp8;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (id)navigationBarDefaultPrompt:(id)fp8;

@end

@interface DialerNameView : UIView
{
    NSString *_name;
    NSString *_label;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setName:(id)fp8;
- (id)name;
- (void)setLabel:(id)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface DialerFieldView : UIView
{
    NSString *_text;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setText:(id)fp8;
- (id)text;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface DialerLCDField : UIView <DialerNumberDisplay>
{
    DialerFieldView *_field;
    DialerNameView *_nameView;
}

+ (id)backgroundImage;
+ (float)defaultHeight;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)delete;
- (void)dealloc;
- (id)text;
- (void)setText:(id)fp8 needsFormat:(BOOL)fp12;
- (void)setName:(id)fp8;
- (id)name;
- (void)setLabel:(id)fp8;

@end

@interface DialerNameView (SyntheticEvents)
- (id)_automationID;
@end

@interface DialerFieldView (SyntheticEvents)
- (id)_automationID;
@end

@interface PhoneApplication (Telephony)
- (void)registerForNotifications;
- (void)_resetState;
- (void)_setIncomingCall:(id)fp8;
- (void)_postDisplayedCallsChanged;
- (void)_postConferenceParticipantsChanged;
- (void)_addActiveCall:(id)fp8;
- (BOOL)isAboutToIssueDisconnectOfLastCall;
- (void)_removeActiveCall:(id)fp8;
- (void)_setActiveCalls:(id)fp8;
- (void)_setConferenceParticipants:(id)fp8;
- (void)_updateActiveCalls:(id)fp8;
- (void)_updateCallCount:(struct __CTCall *)fp8 force:(BOOL)fp12;
- (BOOL)inCall;
- (BOOL)inOutgoingCall;
- (BOOL)justAnIncomingCallExists;
- (BOOL)canMergeCalls;
- (BOOL)canTakeCallsPrivate;
- (void)_invalidatePrivateSetting;
- (id)displayedCall;
- (id)displayedCalls;
- (void)suspendCallChangeNotifications;
- (void)resumeCallChangeNotifications;
- (void)forceCallActive:(id)fp8;
- (void)forceCallIntoConference:(id)fp8;
- (void)forceCallOutOfConference:(id)fp8;
- (void)forceDisconnectOfCall:(id)fp8;
- (void)forceUpdateOfCallList;
- (id)conferenceCall;
- (id)incomingCall;
- (id)conferenceParticipantCalls;
- (BOOL)callInterruptedAnApplication;
- (BOOL)shouldSuspendAfterLastCall;
- (void)setShouldSuspendAfterLastCall:(BOOL)fp8;
- (struct __CTServerConnection *)_serverConnection;
- (BOOL)isMuted;
- (BOOL)setMuted:(BOOL)fp8;
- (BOOL)toggleMute;
- (BOOL)promptForTTY;
- (id)ttyTitle;
- (BOOL)inAirplaneMode;
- (void)_handleCallControlFailure;
@end

@interface InCallBottomButton : TPPushButton
{
}

- (BOOL)pointMostlyInside:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;

@end

@interface InCallController : PhoneViewController
{
    UIView *_inCallView;
    InCallLCDView *_lcd;
    TPBottomButtonBar *_bottomBar;
    TPBottomDualButtonBar *_emergencyCallBottomBar;
    TPBottomDualButtonBar *_ttyBottomBar;
    TPBottomDualButtonBar *_dualBottomBar;
    TPBottomButtonBar *_defaultBottomBar;
    SixSquareView *_sixSquare;
    TPPhonePad *_phonePad;
    UIView *_centerView;
    UIView *_conferenceView;
    UITable *_conferenceTable;
    InCallLCDField *_field;
    NSTimer *_emergencyCallCycleTimer;
    int _emergencyCallCycleIndex;
    NSArray *_emergencyCallStrings;
    TPBottomLockBar *_fakeLockBar;
    AudioDeviceView *_routeList;
    NSTimer *_autodismissRouteListTimer;
    AudioDeviceController *_deviceController;
    SEL _passcodeUnlockAction;
    PhoneCall *_calls[2];
    NSTimer *_durationTimer;
    NSArray *_displayedConferenceMembers;
    int _lastConferenceParticipantCount;
    unsigned int _pendingDisconnect:2;
    unsigned int _currentCallCount:2;
    unsigned int _currentCall:2;
    unsigned int _currentCallProvisional:1;
    unsigned int _conference:2;
    unsigned int _dontSuspend:1;
    unsigned int _suspended:1;
    unsigned int _tonePlayed:1;
    unsigned int _disconnecting:1;
    unsigned int _disconnectingConference:1;
    unsigned int _disconnectingAnimationStarted:1;
    unsigned int _timerDisabled:1;
    unsigned int _animatingConferenceCell:1;
    unsigned int _performingAnimation:1;
    unsigned int _queuedControlFailure:1;
    unsigned int _nextUpdateIsReset:1;
    unsigned int _checkKeypadOnNextUpdate:1;
    unsigned int _isMergingCalls:1;
    unsigned int _isGoingPrivate:1;
    unsigned int _routesEnabled:1;
    unsigned int _suspendingUnderLock:1;
    unsigned int _returnToLastViewAfterLock:1;
    unsigned int _blinkCount:3;
    unsigned int _handlingEmergencyCall:1;
    unsigned int _preToneMuteState:2;
}

+ (void)preloadImages;
+ (void)loadImages;
+ (void)initialize;
+ (void)_callStateChangedWhileSuspended:(id)fp8;
+ (int)statusBarMode;
+ (int)viewType;
+ (id)defaultPNGName;
+ (BOOL)_resumeToKeypadCallMatchesCall:(struct __CTCall *)fp8;
- (id)viewWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)viewWillBeDisplayed;
- (BOOL)shouldSnapshot;
- (void)suspend:(int)fp8;
- (BOOL)showsDesktop;
- (BOOL)showsDock;
- (void)swapCalls;
- (void)_muteChanged:(id)fp8;
- (void)_toggleHold;
- (void)_setupDualBottomBarWithEndTitle:(id)fp8 dismissTitle:(id)fp12;
- (void)_dualDismissButtonClicked:(id)fp8;
- (void)_revealKeypadWithDuration:(float)fp8 label:(id)fp12;
- (void)_showKeypadDualBottomBar;
- (void)_clearEmergencyCallUI;
- (void)_stopCyclingEmergencyLabel;
- (void)_cycleEmergencyLabel;
- (void)_showEmergencyCallUI;
- (void)_placeEmergencyCall:(id)fp8;
- (void)_cancelEmergencyCall:(id)fp8;
- (void)inCallLCDFieldDeleteButtonClicked:(id)fp8;
- (void)_keypadDualBottomBarFadedIn;
- (void)_keypadSingleBottomBarFadedOut;
- (void)_keypadFieldFadedIn;
- (void)phonePad:(id)fp8 keyDown:(BOOL)fp12;
- (void)phonePad:(id)fp8 keyUp:(BOOL)fp12;
- (void)phonePad:(id)fp8 replaceLastDigitWithString:(id)fp12;
- (void)phonePadWillBeginSounds:(id)fp8;
- (void)phonePadDidEndSounds:(id)fp8;
- (void)_restorePreToneMuteState;
- (void)_hideKeypadClicked:(id)fp8;
- (void)_keypadDualBottomBarFadedOut;
- (BOOL)_sendEnteredDigitsAndForceActive:(BOOL)fp8;
- (void)inCallLCDFieldSendButtonClicked:(id)fp8;
- (void)_keypadFieldFadedOut;
- (void)inCallLCDView:(id)fp8 positionTapped:(int)fp12;
- (void)inCallLCDViewCompletedAnimation:(id)fp8;
- (void)inCallLCDViewConferenceButtonClicked:(id)fp8;
- (void)_showPasscodeKeypadForOperation:(SEL)fp8;
- (void)_showContacts;
- (void)_showAddCall;
- (void)sixSquareButtonClicked:(int)fp8;
- (void)_setSpeakerPositionAsRoute:(BOOL)fp8;
- (void)sixSquareButtonHeldDown:(int)fp8;
- (void)_setEndCallButtonDimmed:(BOOL)fp8;
- (void)_updatePendingDisconnectState;
- (void)_performDisconnectOfCurrentCall;
- (void)_endCallClicked:(id)fp8;
- (void)_endCallDown:(id)fp8;
- (void)_endCallExited:(id)fp8;
- (void)_endCallLongPress:(id)fp8;
- (void)_endCallSingleBarFadedOut;
- (void)_endCallDualBarFadedIn;
- (void)_cancelEndAllCalls:(id)fp8;
- (void)_endCallDualBarFadedOut;
- (void)_endCallSingleBarFadedIn;
- (void)_animateCommonEndOfCallWithStartTime:(double)fp8 duration:(float)fp16 delay:(float)fp20 didEndSelector:(SEL)fp24;
- (void)animateToPreviousAppWithStartTime:(double)fp8;
- (void)_finishedAnimatingToPreviousApp;
- (void)_animateToLastView:(BOOL)fp8;
- (void)cancelAnimateToPreviousView;
- (void)_startEndOfLastCallAnimationWithRelock:(BOOL)fp8;
- (void)_startEndOfLastCallAnimation;
- (void)_startEndOfLastCallAnimationRelocking;
- (BOOL)_lockWasInterrupted;
- (void)_postOkToDim;
- (void)_handleEndOfLastCall;
- (void)_finishedAnimatingToLastView;
- (void)_applicationReactivated:(id)fp8;
- (void)_applicationDeactivated:(id)fp8;
- (void)_updateConferenceButtonStateGivenCurrentCallState:(int)fp8;
- (void)_unprovisionalize;
- (void)_updateCurrentCallDisplay;
- (void)_setCurrentCall:(unsigned int)fp8;
- (id)_updateConferenceDisplayNameCache;
- (void)_updateSingleCallerPhoto;
- (void)_setConferenceCall:(unsigned int)fp8;
- (void)_setDisableTimerUpdates:(BOOL)fp8;
- (void)_updateStatus:(unsigned int)fp8 provisionally:(BOOL)fp12;
- (void)_updateDuration;
- (void)_callStatusChanged:(id)fp8;
- (void)_callStatusChangedNotification:(id)fp8;
- (void)_callDisplayNameChangedNotification:(id)fp8;
- (void)_displayedCallsChanged:(id)fp8;
- (void)_conferenceParticipantsChanged:(id)fp8;
- (void)animateEndOfCall;
- (BOOL)isShowingLock;
- (BOOL)isSuspendingUnderLock;
- (id)currentBottomBar;
- (void)_animateUnderLockSuspension:(BOOL)fp8;
- (void)_finishedBlinking;
- (void)_blinkEndCallButton;
- (void)animateUnderLockSuspension:(BOOL)fp8 blinkEndCallButton:(BOOL)fp12 afterDelay:(float)fp16;
- (void)didFinishAnimatingResumeFromUnderLock;
- (void)animateResumeFromUnderLock:(BOOL)fp8;
- (void)_lockCompleted;
- (void)_lockCompletedWhileOnCall;
- (BOOL)_lockCompleteState;
- (void)didFinishAnimatingUnderLockSuspension;
- (void)_setCallIndex:(unsigned int)fp8 toCall:(id)fp12;
- (void)_setCallCount:(int)fp8;
- (void)setDisplayedCalls:(id)fp8;
- (void)_singleCallDisconnectAnimationFinished;
- (void)_reset;
- (void)_setResumeToKeypad:(BOOL)fp8;
- (void)handleURL:(id)fp8;
- (void)_incomingButtonsFaded;
- (void)_answerAnimationFinished;
- (void)flipToCallWaiting:(BOOL)fp8 fromTTY:(BOOL)fp12 withName:(id)fp16 label:(id)fp20 uid:(int)fp24 phoneCall:(id)fp28;
- (BOOL)animateToCallWaitingAlertForCall:(id)fp8 name:(id)fp12 label:(id)fp16 uid:(int)fp20;
- (void)animateOutOfCallWaitingAlert;
- (void)_finishedCallWaitingFlip;
- (void)cancelCallWaitingAlert;
- (void)animateForDialWithStartTime:(double)fp8;
- (void)_finishedAnimatingInternalDial;
- (void)animateCallMerge;
- (void)_mergeAnimationCompleted;
- (void)inCallLCDViewPopTextCompleted:(id)fp8;
- (void)_setSpeakerPhoneEnabled:(BOOL)fp8;
- (id)_createEndCallButtonWithTitle:(id)fp8 small:(BOOL)fp12 allowPressAndHold:(BOOL)fp16;
- (void)_restoreAnimatingButtonsFromView:(id)fp8;
- (void)_setDefaultBottomBarButtonAlpha:(float)fp8 forDualBarSwitch:(BOOL)fp12;
- (id)_alternateDisplayNameForCall:(id)fp8;
- (double)_alternatingDurationForCall:(id)fp8;

@end

@interface InCallLCDView : TPLCDView
{
    TPLCDTextView *_labelView2;
    TPLCDTextView *_textView2;
    UIView *_activeIndicator;
    int _activePosition;
    int _conferencePosition;
    UIImageView *_oldBkgndView;
    UIImageView *_newBkgndView;
    TPLCDTextView *_oldLabelView;
    TPLCDTextView *_oldLabelView2;
    TPLCDTextView *_oldTextView;
    TPLCDTextView *_oldTextView2;
    UIView *_oldActiveIndicator;
    UIPushButton *_conferenceButton;
    NSTimer *_alternatingTimer;
    double _alternatingDuration;
    double _alternatingDuration2;
    NSString *_originalText;
    NSString *_originalText2;
    NSString *_alternateText;
    NSString *_alternateText2;
    id _delegate;
    unsigned int _ignoreLayout:1;
    unsigned int _animating:1;
    unsigned int _progress:1;
    unsigned int _dimmedText:2;
    unsigned int _canTruncateLabel:2;
    unsigned int _enableFade:1;
    unsigned int _changingForAlternate:1;
}

- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)layoutSubviews;
- (void)removeFromSuperview;
- (void)_updateTextAttributes;
- (void)_cancelScrollingForTextView:(id)fp8;
- (void)_enableScrollingForTextView:(id)fp8 start:(BOOL)fp12;
- (void)performTextFadeWithDuration:(float)fp8 delay:(float)fp12 forView:(id)fp16 newText:(id)fp20;
- (void)lcdTextViewCompletedScroll:(id)fp8;
- (void)setTextScrolls:(BOOL)fp8;
- (void)setTextChangeFadingEnabled:(BOOL)fp8;
- (void)setText:(id)fp8;
- (void)setText:(id)fp8 animating:(BOOL)fp12;
- (void)setTextDimmed:(BOOL)fp8;
- (void)setLabel:(id)fp8;
- (void)setLabelVisible:(BOOL)fp8;
- (void)setCanTruncateLabel:(BOOL)fp8;
- (void)setText2:(id)fp8;
- (void)setText2Dimmed:(BOOL)fp8;
- (void)setText2:(id)fp8 animating:(BOOL)fp12;
- (id)text2;
- (void)setLabel2:(id)fp8;
- (id)label2;
- (void)setCanTruncateLabel2:(BOOL)fp8;
- (void)setAlternateText:(id)fp8 forDuration:(double)fp12;
- (void)setAlternateText2:(id)fp8 forDuration:(double)fp12;
- (void)setSubImage:(id)fp8;
- (void)_positionActiveCallIndicator;
- (void)_removeAnimationViews;
- (id)_backgroundForPosition:(int)fp8;
- (void)_updateForActivePosition;
- (void)setActivePosition:(int)fp8;
- (void)animateToActivePosition:(int)fp8 label:(id)fp12 label2:(id)fp16;
- (void)_activationAnimationFinished;
- (void)setActiveIndicatorShowsProgress:(BOOL)fp8;
- (void)mouseUp:(struct __GSEvent *)fp8;
- (void)_positionConferenceButton;
- (void)_conferenceButtonClicked:(id)fp8;
- (void)setConferencePosition:(int)fp8;
- (int)conferencePosition;
- (void)animateCallMergeWithDuration:(float)fp8;
- (void)popText;
- (void)_popTextFinishedFirstHalf;
- (void)_popTextFinished;
- (void)animateLabel;
- (void)_finishedAnimatingLabel;
- (void)_startAlternating;
- (void)_stopAlternating:(BOOL)fp8;
- (void)_alternate:(id)fp8;

@end

@interface PhoneApplication (Private)
- (void)_forceWindowFront;
- (void)finishedAnimatingOutInCallView;
- (void)animateToPreCallView:(id)fp8 duration:(float)fp12 delay:(float)fp16;
- (BOOL)performingOverlayTransition;
- (void)requestSuspendAfterLastCall;
- (BOOL)animateSuspensionReturningToLastApp:(double)fp8;
- (void)updateDesktopImageForCall:(id)fp8;
- (void)didFinishAnimatingUnderLockSuspension;
@end

@interface ToggleButton : UISegmentedControl
{
}

- (id)initWithWidth:(float)fp8 leftTitle:(id)fp12 rightTitle:(id)fp16;
- (BOOL)pointInside:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;

@end

@interface RecentsButtonBar : UIButtonBar
{
}

- (id)createButtonWithDescription:(id)fp8;

@end

@interface AddressBookController (Testing)
+ (int)viewType;
+ (id)supportedTests;
- (void)_endTests;
- (void)peoplePickerDisplayedGroups:(id)fp8;
- (void)peoplePicker:(id)fp8 displayedMembersOfGroup:(struct CPRecord *)fp12;
- (void)peoplePicker:(id)fp8 displayedPerson:(struct CPRecord *)fp12;
- (void)peoplePicker:(id)fp8 startedEditingPerson:(struct CPRecord *)fp12;
- (void)peoplePicker:(id)fp8 finishedEditingPerson:(struct CPRecord *)fp12;
- (void)_scrollMemberListTest:(id)fp8;
- (void)_scrollMemberListFullScreenTest:(id)fp8;
- (void)startScrollMemberListTest:(id)fp8;
- (void)_dragDidEnd:(id)fp8;
- (void)_dragMemberListTest:(id)fp8;
- (void)startDragMemberListTest:(id)fp8;
- (void)_flickDidEnd:(id)fp8;
- (void)_flickMemberListTest:(id)fp8;
- (void)startFlickMemberListTest:(id)fp8;
- (void)startScrollMemberListFullScreenTest:(id)fp8;
- (void)_showNextPerson;
- (void)_showMembersOfAllGroup;
- (void)startShowPeopleTest:(id)fp8;
- (void)startThrowTest:(id)fp8;
- (void)transitionCompleted;
- (void)flickFinished:(id)fp8;
- (BOOL)runTest:(id)fp8 options:(id)fp12;
@end

@interface PhoneViewController (Testing)
+ (int)viewType;
+ (id)supportedTests;
- (void)willStartTest:(id)fp8;
- (BOOL)runTest:(id)fp8 options:(id)fp12;
- (void)_finishSwitchTest;
- (void)transitionCompleted;
@end

@interface DialerController (Testing)
+ (int)viewType;
@end

@interface SpeedDialController (Testing)
+ (int)viewType;
+ (id)supportedTests;
- (void)_runABLookupTest;
- (void)_runAddTest;
- (void)pickerTransitionFinished:(id)fp8;
- (void)_runEditTest;
- (void)transitionCompleted;
- (BOOL)runTest:(id)fp8 options:(id)fp12;
@end

@interface RecentsController (Testing)
+ (int)viewType;
+ (id)supportedTests;
- (BOOL)runTest:(id)fp8 options:(id)fp12;
- (void)_performCallLocationTest:(id)fp8;
- (void)_flipFilter;
- (void)_performFilterAnimationTest:(id)fp8;
- (void)filteringAnimationFinished;
@end

@interface VoicemailView (Testing)
- (struct CGPoint)tableOffset;
- (struct CGPoint)maxTableOffset;
- (void)setTableOffset:(struct CGPoint)fp8;
@end

@interface VoicemailController (Testing)
+ (int)viewType;
+ (id)supportedTests;
- (BOOL)runTest:(id)fp8 options:(id)fp12;
- (void)_scrollList:(id)fp8;
@end

@interface InCallController (Testing)
+ (int)viewType;
@end

@interface SixSquareButton : UIPushButton
{
    BOOL _selected;
    UIImage *_bkgnd;
    UIImage *_selectedBkgnd;
    struct CGRect _contentRect;
    unsigned int _isDisabled:1;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setSelected:(BOOL)fp8;
- (BOOL)selected;
- (void)setEnabled:(BOOL)fp8;
- (BOOL)isReallyEnabled;
- (void)setBackgroundImage:(id)fp8;
- (void)setSelectedBackgroundImage:(id)fp8;
- (void)setContentRect:(struct CGRect)fp8;
- (void)drawBackground;
- (void)drawContents;
- (void)drawButtonPart:(int)fp8 inRect:(struct CGRect)fp12;
- (void)_sizeToFit;

@end

@interface SixSquareView : UIView
{
    SixSquareButton *_buttons[6];
    id _delegate;
}

+ (void)preloadImages;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)removeFromSuperview;
- (void)setDelegate:(id)fp8;
- (void)setTitle:(id)fp8 image:(id)fp12 forPosition:(int)fp16;
- (void)_buttonClicked:(id)fp8;
- (void)_buttonHeldDown:(id)fp8;
- (void)_buttonDown:(id)fp8;
- (void)_cancelButtonDown:(id)fp8;
- (id)buttonAtPosition:(int)fp8;
- (void)setAllButtonsEnabled:(BOOL)fp8;

@end

@interface DialerPhonePad : TPPhonePad
{
}

- (id)initWithFrame:(struct CGRect)fp8;
- (id)_pressedImage;
- (void)hiddenFromView;
- (void)willBecomeVisible;
- (id)_keypadImage;
- (float)_yFudge;

@end

@interface InCallController (ConferenceManagement)
- (void)displayConferenceManagementView;
- (void)dismissConferenceManagementView;
- (void)transitionViewDidComplete:(int)fp8;
- (void)_removeCallAtIndex:(int)fp8;
- (void)table:(id)fp8 endCallClickedForRow:(int)fp12;
- (void)table:(id)fp8 privateClickedForRow:(int)fp12;
- (void)dismissAfterPrivate;
- (void)tableRowDeletionAnimationCompleted:(id)fp8;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)noteParticipantsChanged:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (void)table:(id)fp8 deleteRow:(int)fp12;
- (int)numberOfRowsInTable:(id)fp8;
@end

@interface ConferenceManagementTable : UITable
{
    unsigned int _displaysPrivate:1;
    UIView *_eventTarget;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)selectRow:(int)fp8 byExtendingSelection:(BOOL)fp12 withFade:(BOOL)fp16;
- (id)createPreparedCellForRow:(int)fp8 column:(int)fp12;
- (void)setDisplaysPrivateButtons:(BOOL)fp8;
- (void)sendEventsToView:(id)fp8;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (int)rowForCell:(id)fp8;
- (void)conferenceParticipantCellPrivateClicked:(id)fp8;
- (void)conferenceParticipantCellEndClicked:(id)fp8;
- (void)animateDeletionOfRowWithCell:(id)fp8 viaEdge:(int)fp12;
- (void)completeRowDeletionAnimation;

@end

@interface UIView (ConferenceInterception)
- (BOOL)containsView:(id)fp8;
@end

@interface EndCallExtrudeAnimation : UIFrameAnimation
{
    float _startTitleAlpha;
    float _endTitleAlpha;
}

- (void)setStartTitleAlpha:(float)fp8;
- (void)setEndTitleAlpha:(float)fp8;
- (void)setProgress:(float)fp8;

@end

@interface ConferencePillButton : UIThreePartButton
{
    float _titleAlpha;
    struct CGRect _titleBounds;
}

- (id)initWithFrame:(struct CGRect)fp8 backgroundImage:(id)fp24 pressedBackgroundImage:(id)fp28 slices:(CDAnonymousStruct1)fp32;
- (void)setTitleAlpha:(float)fp8;
- (void)setFrame:(struct CGRect)fp8;
- (struct CGSize)sizeForTitle;
- (void)drawButtonPart:(int)fp8 inRect:(struct CGRect)fp12;
- (void)drawTitleAtPoint:(struct CGPoint)fp8 width:(float)fp16;
- (float)minTitleMargin;
- (BOOL)_alwaysHandleScrollerMouseEvent;

@end

@interface ConferenceEndCallButton : UIPushButton
{
}

- (id)initWithDefaultSize;
- (void)drawButtonPart:(int)fp8 inRect:(struct CGRect)fp12;
- (BOOL)_alwaysHandleScrollerMouseEvent;

@end

@interface ConferenceParticipantHoldView : ConferenceParticipantNameView
{
}

+ (struct __GSFont *)copyNameFont;

@end

@interface ConferenceParticipantNameView : UIView
{
    NSString *_name;
    float _desiredWidth;
}

+ (struct __GSFont *)copyNameFont;
- (id)initWithName:(id)fp8;
- (void)dealloc;
- (void)setFrame:(struct CGRect)fp8;
- (float)desiredWidth;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface ConferenceParticipantCell : UITableCell
{
    ConferenceManagementTable *_table;
    UIPushButton *_privateButton;
    UIPushButton *_endButton;
    UIThreePartButton *_bigEndButton;
    ConferenceParticipantNameView *_nameView;
    unsigned int _isConfirming:1;
    unsigned int _isHeld:1;
    unsigned int _drawSeparator:1;
}

- (id)initWithFrame:(struct CGRect)fp8 name:(id)fp24;
- (void)dealloc;
- (void)setBackgroundColor:(struct CGColor *)fp8;
- (void)setShouldDrawSeparator:(BOOL)fp8;
- (void)drawRect:(struct CGRect)fp8;
- (void)setTable:(id)fp8;
- (void)makeHeld;
- (void)setShowPrivateButton:(BOOL)fp8;
- (void)_privateButtonFadedOut;
- (void)_setShowConfirm:(BOOL)fp8;
- (void)_endButtonClicked:(id)fp8;
- (void)_endCallConfirmAnimationFinished;
- (void)_privateButtonClicked:(id)fp8;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (void)mouseUp:(struct __GSEvent *)fp8;

@end

@interface InCallLCDField : TPLCDView
{
    UIThreePartButton *_button;
    id _delegate;
    unsigned int _textIsPlaceholder:1;
}

- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)_updateButton;
- (void)_removeButton;
- (void)_showButtonWithTitle:(id)fp8 action:(SEL)fp12;
- (void)setShowsSendButton:(BOOL)fp8;
- (BOOL)showsSendButton;
- (void)_sendButtonClicked:(id)fp8;
- (void)_deleteButtonClicked:(id)fp8;
- (void)setShowsDeleteButton:(BOOL)fp8;
- (void)setPlaceholderText:(id)fp8 animating:(BOOL)fp12;
- (void)setText:(id)fp8;
- (id)text;
- (struct CGRect)textFrame;

@end

@interface DialerNavigationBar : UINavigationBar <DialerNumberDisplay>
{
    NSString *_label;
    unsigned int _isDisplayingPlaceholder:1;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (id)text;
- (void)setText:(id)fp8 needsFormat:(BOOL)fp12;
- (void)setName:(id)fp8;
- (id)name;
- (void)setLabel:(id)fp8;
- (void)delete;
- (void)_drawPrompt:(id)fp8 inRect:(struct CGRect)fp12 withFont:(struct __GSFont *)fp28 barStyle:(int)fp32;

@end

@interface VoicemailPushButton : TPPushButton
{
    int _originalColor;
}

- (id)initWithTitle:(id)fp8 icon:(id)fp12 color:(int)fp16 frame:(struct CGRect)fp20;
- (void)setEnabled:(BOOL)fp8;

@end

@interface VoicemailControlsView : UIView
{
    UIScrubberControl *_progressControl;
    VoicemailPushButton *_leftButton;
    VoicemailPushButton *_rightButton;
    float _fontSize;
    id _delegate;
}

+ (void)_loadImages;
+ (float)defaultHeight;
- (id)initWithFrame:(struct CGRect)fp8 showProgressTimes:(BOOL)fp24;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (id)progressControl;
- (void)_bottomButtonClicked:(id)fp8;
- (void)setButtons:(int)fp8 enabled:(BOOL)fp12;
- (void)setButtonFontSize:(float)fp8;
- (void)setLeftButtonColor:(int)fp8 title:(id)fp12 icon:(id)fp16 rightButtonColor:(int)fp20 title:(id)fp24 icon:(id)fp28 duration:(double)fp32;
- (void)_animateNewButtonsIn:(id)fp8 finished:(id)fp12 duration:(id)fp16;
- (void)_buttonTransitionComplete;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface PhoneCall : NSObject
{
    struct __CTCall *_call;
    NSString *_displayName;
    NSString *_overrideName;
    unsigned int _displayNameBreakPoint;
    int _abUid;
    NSString *_abLabel;
    UIImage *_image;
    struct {
        unsigned int imageType:2;
        unsigned int abUidIsValid:1;
        unsigned int dialAssisted:1;
    } _phoneCallFlags;
}

+ (id)phoneCallForCall:(struct __CTCall *)fp8;
- (id)initWithCall:(struct __CTCall *)fp8;
- (void)dealloc;
- (int)_addressBookUid;
- (void)_handleIdentityChange;
- (void)_handleCallerIDChange;
- (struct __CTCall *)call;
- (int)status;
- (BOOL)isAlerting;
- (BOOL)isVoicemail;
- (void)hold;
- (void)unhold;
- (BOOL)isConferenced;
- (void)joinConference;
- (void)leaveConference;
- (void)disconnect;
- (id)number;
- (int)abUID;
- (id)_displayNameWithSeparator:(id)fp8;
- (id)displayName;
- (id)multiLineDisplayName;
- (id)localizedLabel;
- (void)setOverrideName:(id)fp8;
- (BOOL)wasDialAssisted;
- (void)setWasDialAssisted:(BOOL)fp8;
- (id)_image;
- (id)desktopImage;
- (id)smallImage;

@end

@interface NSURL (Utilities)
- (id)pathDictionary;
@end

@interface VoicemailMailboxController : NSObject
{
    NSArray *_entries;
    VoicemailTable *_table;
    NSString *_extraRowTitle;
    NSMutableDictionary *_displayNameCache;
    VoicemailPlaybackController *_playbackController;
    void *_lastSelectedRecord;
    id _delegate;
    struct {
        unsigned int suspended:1;
        unsigned int syncingSelection:1;
        unsigned int unused:30;
    } _mailboxControllerFlags;
}

- (void)performInitialization;
- (id)initForTableWithFrame:(struct CGRect)fp8 bottomBufferHeight:(float)fp24;
- (void)dealloc;
- (void)suspend;
- (void)resume;
- (void)willBeDisplayed;
- (void)setDelegate:(id)fp8;
- (void)setEntries:(id)fp8;
- (int)entryCount;
- (void)retrieveEntries;
- (void)significantTimeChange;
- (id)table;
- (void)setExtraRowTitle:(id)fp8;
- (void)setPlaybackController:(id)fp8;
- (id)displayNameForRecord:(void *)fp8;
- (id)displayNameForEntryAtIndex:(int)fp8;
- (void)invalidateDisplayNameEntryForSender:(id)fp8;
- (void *)selectedRecord;
- (void)selectTableRow:(int)fp8 syncingSelection:(BOOL)fp12;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16 reusing:(id)fp20;
- (BOOL)table:(id)fp8 disclosureClickableForRow:(int)fp12;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (void)tableRowSelected:(id)fp8;
- (void)_dataLoadCompleted:(id)fp8;
- (void)_dataProgressiveLoadStarted:(id)fp8;
- (void)_dataProgressiveLoadContinued:(id)fp8;
- (void)deleteSelectedRecord;
- (void)_delayedSelectRow:(id)fp8;
- (void)performDeleteOfRecord:(void *)fp8;
- (void)table:(id)fp8 deleteRow:(int)fp12;
- (void)table:(id)fp8 disclosureClickedForRow:(int)fp12;
- (void)_playStateChanged:(id)fp8;
- (void)_emptyRecordsWhileSuspended;
- (void)_onlineStateChanged;
- (int)rowForVoicemailRecord:(void *)fp8;
- (BOOL)entryShouldBeInList:(void *)fp8;
- (void)_filterInEntries:(id)fp8;
- (void)_filterOutEntry:(void *)fp8;
- (void)_voicemailFlagsChanged:(id)fp8;
- (void)_voicemailsAdded:(id)fp8;
- (void)_voicemailStoreContentsRemoved:(id)fp8;
- (void)_addressBookChanged:(id)fp8;
- (void)_voicemailTaskStarted:(id)fp8;
- (void)_voicemailTaskEnded:(id)fp8;

@end

@interface OffsetAnimation : UIAnimation
{
    struct CGPoint _startOffset;
    struct CGPoint _endOffset;
}

- (id)initWithTarget:(id)fp8;
- (void)setStartOffset:(struct CGPoint)fp8;
- (void)setEndOffset:(struct CGPoint)fp8;
- (void)setProgress:(float)fp8;

@end

@interface VoicemailTable : UITable
{
    UIAnimation *_offsetAnimation;
}

- (void)dealloc;
- (BOOL)shouldDelaySendingSelectionChanged;
- (BOOL)canHandleSwipes;
- (void)setAccessoryView:(id)fp8;
- (void)scrollRow:(int)fp8 toRect:(struct CGRect)fp12 withDuration:(float)fp28;

@end

@interface VoicemailTrashMailboxController : VoicemailMailboxController
{
}

- (void)retrieveEntries;
- (BOOL)entryShouldBeInList:(void *)fp8;
- (void)performDeleteOfRecord:(void *)fp8;
- (void)clearAll;

@end

@interface VoicemailGreetingView : UIView
{
    UIPreferencesTable *_table;
    VoicemailControlsView *_controlsView;
    LevelIndicator *_levelIndicator;
    int _oldGreetingType;
    NSString *_currentGreetingPath;
    VoicemailPlaybackController *_playbackController;
    AVRecorder *_recorder;
    NSTimer *_levelTimer;
    id _delegate;
    int _lastSelectedRow;
    int _state;
    unsigned int _currentGreetingDuration;
    unsigned int _customGreetingChanged:1;
    unsigned int _greetingLoaded:1;
    unsigned int _initializingView:1;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)saveStateToDefaults;
- (void)restoreStateFromDefaults;
- (void)setEnabled:(BOOL)fp8;
- (void)stop;
- (void)setDelegate:(id)fp8;
- (void)setPlaybackController:(id)fp8;
- (BOOL)canBeSaved;
- (BOOL)canBeCancelled;
- (void)_notifySaveAbilityChanged;
- (void)setAccessoryView:(id)fp8;
- (void)_defaultGreetingSelected;
- (void)_customGreetingAlreadyRecorded;
- (void)_customGreetingNotRecorded;
- (id)_tmpFileForRecording;
- (void)_beginRecording;
- (void)_recordingEnded:(id)fp8;
- (void)_recordingStarted:(id)fp8;
- (void)_applicationDeactivated:(id)fp8;
- (void)_updateLevel;
- (void)_removeLevelIndicator;
- (void)_stopRecording;
- (void)_cancelRecording;
- (void)_startPlayingState;
- (void)_stopPlayingState;
- (id)voicemailPlaybackControllerAudioCategory:(id)fp8;
- (void)_playbackStateChanged:(id)fp8;
- (void)voicemailPlaybackController:(id)fp8 updateElapsedTime:(double)fp12 duration:(double)fp20 playableDuration:(double)fp28;
- (void)_updateScrubberProgress;
- (void)voicemailPlaybackController:(id)fp8 playbackPathDidChange:(id)fp12;
- (void)_startPlaying;
- (void)_stopGreetingFetchWithError:(id)fp8;
- (void)_stopPlaying;
- (void)_greetingFetchEnded:(id)fp8;
- (void)_greetingFetchDownloadBegan:(id)fp8;
- (void)_greetingFetchDownloadContinued:(id)fp8;
- (void)_showCustomGreetingControls:(BOOL)fp8 animating:(BOOL)fp12;
- (void)_controlsFinishedAnimatingUp;
- (void)_controlsFinishedAnimatingDown;
- (void)voicemailControlsView:(id)fp8 buttonClicked:(int)fp12;
- (void)_save:(int)fp8;
- (void)_taskCompleted:(id)fp8;
- (void)prepareForDismissal;
- (void)_notifyStatusMessage:(id)fp8;
- (int)numberOfRowsInTable:(id)fp8;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (void)_configureCustomCell:(id)fp8;
- (void)_updateCustomCell;
- (void)tableSelectionDidChange:(id)fp8;
- (int)_selectedGreetingType;
- (BOOL)save;

@end

@interface VoicemailGreetingTableCell : UIPreferencesTableCell
{
}

+ (struct __GSFont *)defaultTitleFont;
- (id)valueTextLabel;
- (void)layoutSubviews;

@end

@interface LevelIndicator : UIImageView
{
    float _level;
    UIView *_levelView;
}

+ (id)_bkgndImage;
+ (struct CGSize)defaultSize;
- (id)initWithDefaultSize;
- (void)dealloc;
- (void)setLevel:(float)fp8;

@end

@interface AudioRouteCell : UIImageAndTextTableCell
{
    BOOL _checked;
}

+ (id)normalBackground;
+ (id)highlightedBackground;
- (struct CGColor *)_shadowColor;
- (struct CGColor *)_shadowHighlightedColor;
- (id)highlightedIcon;
- (id)enabledIcon;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)setChecked:(BOOL)fp8;
- (void)setSelected:(BOOL)fp8 withFade:(BOOL)fp12;
- (void)layoutSubviews;
- (void)drawBackgroundInRect:(struct CGRect)fp8 withFade:(float)fp24;

@end

@interface VoicemailErrorController : NSObject
{
    NSMutableArray *_currentErrors;
    unsigned int _dropOthers:1;
}

+ (id)sharedInstance;
- (void)dealloc;
- (void)presentError:(id)fp8;
- (void)presentErrorBlockingOthers:(id)fp8;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)systemAlertDismissed:(int)fp8 result:(int)fp12;

@end

@interface AudioDeviceController : NSObject
{
    id _delegate;
    unsigned int _delegateProvidesAudioRoute:1;
    AudioDeviceView *_deviceView;
}

- (void)dealloc;
- (BOOL)auxillaryAudioDevicesAvailable;
- (BOOL)ambiguousAudioRoutingPossible;
- (void)monitorForAudioDevices;
- (id)deviceViewWithFrame:(struct CGRect)fp8;
- (unsigned int)numberOfDevices;
- (int)activeAudioRoute;
- (id)deviceNameAtIndex:(unsigned int)fp8 isActive:(char *)fp12;
- (void)selectDeviceAtIndex:(unsigned int)fp8;
- (void)audioDeviceView:(id)fp8 eventOccurred:(struct __GSEvent *)fp12;
- (void)audioDeviceView:(id)fp8 selectedItem:(int)fp12;
- (int)audioDeviceViewNumberOfDevices:(id)fp8;
- (id)audioDeviceView:(id)fp8 deviceAtIndex:(int)fp12 isActive:(char *)fp16;
- (void)setDelegate:(id)fp8;
- (void)_mediaServerDied;
- (void)_audioDevicesChanged;
- (void)_updateAudioDeviceStates;
- (void)_registerForAVSystemController;

@end

@interface ButtonBackingView : UIView
{
}

- (id)_buttonBackgroundImage;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface AudioTableSurroundingView : UIView
{
}

- (void)drawRect:(struct CGRect)fp8;

@end

@interface AudioDeviceView : UIView
{
    UITable *_deviceTable;
    UIView *_topBGView;
    UIView *_bottomBGView;
    UIView *_buttonView;
    UIView *_tableView;
    UIView *_subbedView;
    id _delegate;
    BOOL _subbedOutTable;
}

- (void)dealloc;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (id)_selectedImage;
- (id)_unselectedImage;
- (id)_activeImage;
- (id)_tableHeaderImage;
- (id)_tableFooterImage;
- (struct CGRect)_frameForNumDevices:(int)fp8;
- (struct CGRect)_frameForTable;
- (void)_setupButtons;
- (void)_takedownButtons;
- (void)buttonPressed:(id)fp8;
- (void)suboutTable;
- (void)showTable;
- (void)_setupTable;
- (void)_takedownTable;
- (void)_setupSurroundingTableViews;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (void)tableSelectionDidChange:(id)fp8;
- (void)selectRow:(int)fp8;
- (void)reloadData;
- (void)setDelegate:(id)fp8;

@end

@interface AudioSelectionButton : UIThreePartButton
{
    int _index;
}

- (void)setIndex:(int)fp8;
- (int)index;
- (void)_drawImageAndTextPartInRect:(struct CGRect)fp8;

@end

@interface InCallController (AudioRouting)
- (void)_audioDeviceListDualBottomBarFadedIn;
- (void)_swapSingleBottomBarToRouteBottomBar:(BOOL)fp8;
- (void)_audioDeviceListSingleBottomBarFadedOut;
- (void)resetAutodismissTimer;
- (void)_autodismissAudioMenu:(id)fp8;
- (void)_setupAutodismissRoutingTimer:(float)fp8;
- (void)setupAutodismissRoutingTimer;
- (void)animationDidStop:(id)fp8 finished:(BOOL)fp12;
- (void)revealAudioRoutingDeviceListWithDuration:(float)fp8;
- (void)hideAudioRoutesClicked:(id)fp8;
- (void)setupDeviceController;
- (void)audioDeviceController:(id)fp8 eventOccurred:(struct __GSEvent *)fp12;
- (void)audioDeviceController:(id)fp8 speakerphoneEnableRequest:(BOOL)fp12;
- (BOOL)speakerEnabledForAudioDeviceController:(id)fp8;
- (void)audioDeviceControllerDeviceAvailabilityChanged:(id)fp8;
- (BOOL)audioDeviceControllerShouldUpdateRoute:(id)fp8;
@end

@interface AudioDeviceController (BluetoothMonitoring)
- (void)startBTMonitoring;
- (BOOL)hasConnectableBTDevices;
- (BOOL)hasConnectedBTDevice;
- (void)_deviceAvailabilityChanged:(id)fp8;
- (id)connectedBTDevices;
- (void)routeAudioToBTDevice:(id)fp8;
- (void)stopRoutingAudioToBT;
@end

@interface VoicemailReflectionButton : UIPushButton
{
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)sizeToFit;
- (void)drawButtonPart:(int)fp8 inRect:(struct CGRect)fp12;

@end

@interface VoicemailSetupPlacardCell : UIPreferencesTableCell
{
    UITextLabel *_label;
    VoicemailReflectionButton *_button;
}

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

@end

@interface VoicemailSetupPlacard : UIPreferencesTable
{
    UIPushButton *_setupButton;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (BOOL)canSelectRow:(int)fp8;
- (int)numberOfRowsInTable:(id)fp8;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (float)preferencesTable:(id)fp8 heightForRow:(int)fp12 inGroup:(int)fp16 withProposedHeight:(float)fp20;
- (void)mouseDown:(struct __GSEvent *)fp8;
- (void)mouseUp:(struct __GSEvent *)fp8;

@end

@interface VoicemailSetupController : NSObject
{
    UIView *_view;
    UITransitionView *_transitionView;
    UINavigationBar *_navBar;
    VoicemailPasscodeView *_passcodeView;
    VoicemailGreetingView *_greetingView;
    VoicemailSetupGreetingStatusView *_greetingStatusView;
    VoicemailPlaybackController *_playbackController;
    unsigned int _minPasswordLength;
    unsigned int _maxPasswordLength;
    NSString *_password;
    id _delegate;
    int _stage;
    unsigned int _saving:1;
    unsigned int _saveAttempted:1;
}

+ (BOOL)hasSavedSetupValues;
- (id)init;
- (void)dealloc;
- (id)viewWithFrame:(struct CGRect)fp8;
- (void)setDelegate:(id)fp8;
- (void)setPlaybackController:(id)fp8;
- (BOOL)isSaving;
- (void)_endSetupSuccessfully:(BOOL)fp8;
- (void)_updateParameters:(id)fp8;
- (void)transitionToPasswordConfirmation;
- (void)_transitionToGreeting;
- (void)transitionFromPasswordConfirmation;
- (void)_showDefaultPasswordPrompt;
- (void)transitionFromGreeting;
- (void)save;
- (void)_taskEnded:(id)fp8;
- (void)dismissSuccessfully;
- (void)voicemailPasscodeView:(id)fp8 valueDidChange:(id)fp12;
- (void)voicemailGreetingViewSaveAbilityChanged:(id)fp8;
- (void)voicemailGreetingViewSaveCompleted:(id)fp8;
- (void)voicemailGreetingView:(id)fp8 statusMessageChanged:(id)fp12;
- (void)voicemailGreetingView:(id)fp8 saveErrored:(id)fp12;
- (void)_updateNavBarButtons;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;

@end

@interface VoicemailPasscodeView : UIView
{
    UIView *_top;
    UIPasscodeField *_field;
    UITextLabel *_prompt;
    UIKeyboard *_keyboard;
    UIProgressIndicator *_progressIndicator;
    int _maxLength;
    id _delegate;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (id)_createPrompt;
- (id)_createField;
- (void)setPrompt:(id)fp8 showProgress:(BOOL)fp12 animate:(int)fp16;
- (void)_promptAnimationCompleted;
- (void)setDelegate:(id)fp8;
- (void)setEnabled:(BOOL)fp8;
- (void)setMaxLength:(int)fp8;
- (id)stringValue;
- (void)setStringValue:(id)fp8;
- (void)passcodeFieldTextDidChange:(id)fp8;
- (BOOL)passcodeField:(id)fp8 shouldInsertText:(id)fp12;

@end

@interface VoicemailGreetingEditView : UIView
{
    ProgressiveNavigationBar *_navBar;
    UIProgressIndicator *_progressIndicator;
    VoicemailGreetingView *_greetingView;
    id _delegate;
    unsigned int _dismissing:1;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (id)greetingView;
- (void)voicemailGreetingView:(id)fp8 statusMessageChanged:(id)fp12;
- (void)voicemailGreetingViewSaveAbilityChanged:(id)fp8;
- (void)_dismiss;
- (void)voicemailGreetingViewSaveCompleted:(id)fp8;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;

@end

@interface VoicemailSetupGreetingStatusView : UIView
{
    UITextLabel *_textLabel;
    UIProgressIndicator *_progressIndicator;
    BOOL _showProgress;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (BOOL)_isShowingProgress;
- (BOOL)_wantsToShowProgress;
- (BOOL)_shouldShowProgress;
- (void)_adjustProgressIndicatorFrame;
- (void)_setShowProgress:(BOOL)fp8;
- (void)setShowProgress:(BOOL)fp8;
- (void)setStatusString:(id)fp8;

@end

@interface VoicemailTaskMonitor : NSObject
{
    int _taskType;
    struct __CFMachPort *_port;
}

- (id)initWithTaskType:(int)fp8 port:(unsigned int)fp12;
- (void)dealloc;
- (void)_portInvalidated;
- (void)_sendMessage:(int)fp8:(id)fp12;
- (void)_taskCompleted:(id)fp8;

@end

@interface VoicemailAudioRoutingSheetButton : UIThreePartButton
{
}

- (void)drawTitleAtPoint:(struct CGPoint)fp8 width:(float)fp16;
- (void)drawImageAtPoint:(struct CGPoint)fp8 fraction:(float)fp16;

@end

@interface VoicemailAudioRoutingCell : UIImageAndTextTableCell
{
}

- (void)setSelected:(BOOL)fp8 withFade:(BOOL)fp12;
- (void)layoutSubviews;

@end

@interface VoicemailAudioRoutePicker : NSObject
{
    id _delegate;
    AudioDeviceController *_audioDeviceController;
    int _manualSelection;
    UIView *_view;
    UITable *_table;
    UINavigationBar *_navBar;
}

- (id)initWithAudioDeviceController:(id)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)dismiss;
- (void)displayOnView:(id)fp8;
- (void)reloadData;
- (void)tearDown;
- (void)_slideOutFinished;
- (void)_slideInFinished;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (void)tableSelectionDidChange:(id)fp8;

@end

@interface VoicemailAudioRoutingController : NSObject
{
    id _delegate;
    AudioDeviceController *_audioDeviceController;
    VoicemailAudioRoutePicker *_picker;
    BOOL _hasAuxillaryDevices;
    BOOL _isPicking;
}

- (id)initWithDelegate:(id)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)resume;
- (BOOL)deactivateBluetoothAudio;
- (void)suspend:(int)fp8;
- (void)_applicationDeactivated:(id)fp8;
- (void)_applicationReactivated:(id)fp8;
- (BOOL)hasAuxillaryDevices;
- (BOOL)isPicking;
- (void)promptForAudioDeviceOnView:(id)fp8;
- (void)activateBluetoothAudio;
- (void)pickerDidFinish:(id)fp8;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)audioDeviceController:(id)fp8 speakerphoneEnableRequest:(BOOL)fp12;
- (id)activeAudioRouteForDeviceController:(id)fp8;
- (BOOL)speakerEnabledForAudioDeviceController:(id)fp8;
- (void)audioDeviceControllerDeviceAvailabilityChanged:(id)fp8;

@end

@interface VoicemailPlacardButton : UIPlacardButton
{
}

- (void)_controlMouseDown:(struct __GSEvent *)fp8;
- (void)_controlMouseDragged:(struct __GSEvent *)fp8;
- (void)_controlMouseUp:(struct __GSEvent *)fp8;
- (void)_setHighlightOnMouseDown:(BOOL)fp8;

@end

@interface VoicemailOfflineView : UIView
{
    UIPlacardButton *_callButton;
    UITextLabel *_unavailableLabel;
    UITextLabel *_moreWaitingLabel;
    id _delegate;
}

- (id)initWithWidth:(float)fp8 dueToRoaming:(BOOL)fp12;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)setMoreWaiting:(BOOL)fp8;
- (void)_callButtonClicked:(id)fp8;

@end

@interface ProgressiveNavigationBar : UINavigationBar
{
    UIProgressIndicator *_progressIndicator;
}

- (void)dealloc;
- (void)setPrompt:(id)fp8 showingProgress:(BOOL)fp12;
- (void)_drawPrompt:(id)fp8 inRect:(struct CGRect)fp12 withFont:(struct __GSFont *)fp28 barStyle:(int)fp32;

@end

@interface PhoneDesktopView : UIImageView
{
    UIImage *_image;
}

- (void)dealloc;
- (void)setImage:(id)fp8;
- (id)image;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface NSError (VoicemailExtras)
- (void)displayedErrorTitle:(id *)fp8 message:(id *)fp12;
@end

