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

struct ABCMultiValue;

struct CGColor;

struct CGPoint {
    float _field1;
    float _field2;
};

struct CGRect {
    struct CGPoint _field1;
    struct CGSize _field2;
};

struct CGSize {
    float _field1;
    float _field2;
};

struct CPRecord;

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

struct __CFArray;

struct __CFDictionary;

struct __CFSet;

struct __GSEvent;

struct __GSFont;

typedef struct {
    struct {
    } *_field1;
    int _field2;
} CDAnonymousStruct1;

typedef struct {
    id _field1;
    unsigned int _field2;
} CDAnonymousStruct3;

typedef struct {
    id _field1;
    id _field2;
    id _field3;
    id _field4;
    struct CGRect _field5;
    void *_field6;
} CDAnonymousStruct2;

/*
 * File: /Users/natetrue/shared/114/System/Library/Frameworks/AddressBookUI.framework/AddressBookUI
 *       Current version: 33.0.0, Compatibility version: 1.0.0
 */

@protocol ABContentControllerProtocol
- (void)back:(BOOL)fp8 save:(BOOL)fp12;
- (void)reload;
@end

@interface ABModel : NSObject
{
    ABUIController *_uiController;
    struct __CFArray *_displayedMembers;
    NSMutableArray *_displayedGroups;
    CDAnonymousStruct1 *_sectionLists;
    struct _NSRange _displayedMemberPreparedRange;
    unsigned int _numberOfDisplayedMembers;
    struct CPRecord *_selectedGroup;
    struct CPRecord *_selectedPerson;
    int _displayOrdering;
    NSMutableArray *_cachedModelRecords;
    NSLock *_memberLock;
    BOOL _loadingInBackground;
    NSLock *_backgroundLoadingLock;
    BOOL _backgroundInvalidated;
}

+ (void)initialize;
+ (int)sortOrdering;
- (id)initWithUIController:(id)fp8;
- (void)_waitUntilBackgroundThreadFinished;
- (void)dealloc;
- (void)setSortOrdering:(int)fp8;
- (void)setDisplayNameOrdering:(int)fp8;
- (void)resetSectionList;
- (int)displayedMemberSectionListsCount;
- (id)allDisplayedMembers;
- (unsigned int)numberOfDisplayedMembers;
- (id)_createModelRecordFromRecord:(struct CPRecord *)fp8;
- (void)_cachePeople:(struct __CFArray *)fp8 atEnd:(BOOL)fp12;
- (void)_loadMembersInBackground:(id)fp8;
- (void)_startBackgroundThreadIfNecessaryScanningForward:(BOOL)fp8;
- (id)_displayedAllGroupMembersInRange:(struct _NSRange)fp8;
- (id)_displayedSelectedGroupMembersInRange:(struct _NSRange)fp8;
- (id)displayedMembersInRange:(struct _NSRange)fp8;
- (struct CPRecord *)displayedMemberAtIndex:(unsigned int)fp8;
- (void)copyDisplayedNamePieces:(id *)fp8 isGroup:(char *)fp12 highlightIndex:(int *)fp16 forMember:(struct CPRecord **)fp20 atindex:(unsigned int)fp24;
- (CDAnonymousStruct1 *)displayedMemberSectionLists;
- (void)prepareDisplayedMembersInRange:(struct _NSRange)fp8;
- (unsigned int)numberOfDisplayedGroups;
- (id)displayedGroups;
- (struct CPRecord *)displayedGroupAtIndex:(unsigned int)fp8;
- (void)invalidateDisplayedGroups;
- (void)setSelectedPerson:(struct CPRecord *)fp8;
- (struct CPRecord *)selectedPerson;
- (void)setSelectedGroup:(struct CPRecord *)fp8;
- (struct CPRecord *)selectedGroup;
- (void)invalidateDisplayedMembers;
- (void)addRecordToSectionList:(struct CPRecord *)fp8 atIndex:(long)fp12;
- (void)removeRecordFromSectionListAtIndex:(long)fp8;
- (void)modifiedDisplayedMember:(struct CPRecord *)fp8;
- (void)addDisplayedMember:(struct CPRecord *)fp8;
- (void)removeDisplayedMember:(struct CPRecord *)fp8;

@end

@interface ABModelRecord : NSObject
{
    struct CPRecord *_record;
    int _highlightIndex;
    BOOL _isGroup;
    NSArray *_namePieces;
}

- (id)initWithRecord:(struct CPRecord *)fp8 highlightIndex:(long)fp12 group:(BOOL)fp16 namePieces:(id)fp20;
- (void)dealloc;
- (struct CPRecord *)record;
- (long)highlightIndex;
- (BOOL)isGroup;
- (id)namePieces;

@end

@interface ABMembersController : ABContentController
{
    NSMutableArray *_afterTransitionSublayers;
    NSMutableArray *_flipTransitionSublayers;
    unsigned int _foldIndex;
    _Bool _pendingSorting;
    unsigned int _cellsCreated;
}

- (void)dealloc;
- (id)contentView;
- (void)playClick;
- (void)foldNext;
- (void)flipToNewSorting:(int)fp8;
- (void)transitionViewDidComplete:(id)fp8;
- (void)segmentedControl:(id)fp8 selectedSegmentChanged:(int)fp12;
- (void)stopScrolling;
- (BOOL)scrollMemberVisible:(struct CPRecord *)fp8;
- (unsigned int)cellsCreated;
- (void)setCellsCreated:(unsigned int)fp8;
- (id)selectedCell;
- (void)displayedMembersListChanged;
- (int)numberOfSectionsInSectionList:(id)fp8;
- (id)sectionList:(id)fp8 titleForSection:(int)fp12;
- (int)sectionList:(id)fp8 rowForSection:(int)fp12;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16 reusing:(id)fp20;
- (void)table:(id)fp8 willDisplayRowsInRange:(struct _NSRange)fp12;
- (struct CGPoint)scroller:(id)fp8 adjustSmoothScrollEnd:(struct CGPoint)fp12 velocity:(struct CGSize)fp20;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (void)tableSelectionDidChange:(id)fp8;

@end

@interface ABGroupsController : ABContentController
{
}

- (void)dealloc;
- (id)contentView;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (void)tableSelectionDidChange:(id)fp8;
- (void)reload;
- (void)displayedGroupsListChanged;

@end

@interface ABCardController : ABContentController
{
    ABActionsController *_phoneActionsController;
    NSString *_tagLine;
    struct CPRecord *_displayedPerson;
    struct __CFArray *_cardViewerDisplayedProperties;
    id _cardViewerDelegate;
    id _contentBuildingDelegate;
    BOOL _enableActions;
    ABCardTitleView *_noPropertiesView;
    struct {
        unsigned int isEditing:1;
        unsigned int isDeleting:1;
        unsigned int isEndingEditing:1;
        unsigned int isAnimating:1;
        unsigned int needsReload:1;
        unsigned int isModifying:1;
        unsigned int reserved:26;
    } _cardControllerFlags;
    float _editingProgress;
    float _contentHeight;
    float _normalHeight;
    float _editingHeight;
    ABCardTableController *_cardTableController;
}

+ (struct __CFArray *)copyDefaultDisplayedProperties;
+ (struct __CFArray *)copyOptionalProperties;
+ (struct __CFArray *)copyNameProperties;
+ (struct __CFArray *)copyOptionalNameProperties;
+ (id)defaultCardNavigationBarTitle;
- (id)initWithContentControllerDelegate:(id)fp8;
- (void)dealloc;
- (void)favoritesListChanged:(id)fp8;
- (void)buildContentLayerWithTable:(id)fp8 tableController:(id)fp12;
- (id)personImageView;
- (id)itemViewForPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16;
- (void)preloadController;
- (id)contentView;
- (void)reflowForPickerSize:(struct CGSize)fp8;
- (struct CGRect)_visibleRectForAnimation;
- (void)setNeedsReloadData:(BOOL)fp8;
- (void)reloadDataIfNeeded;
- (void)editProperty:(int)fp8 withIdentifier:(int)fp12;
- (void)clickedProperty:(int)fp8 identifier:(int)fp12 actionsController:(id)fp16;
- (void)showOptionalProperties:(struct __CFArray *)fp8;
- (void)propertyPicker:(id)fp8 selectedProperty:(int)fp12;
- (BOOL)shouldShowActions;
- (BOOL)allowsActions;
- (void)setAllowsActions:(BOOL)fp8;
- (BOOL)performDefaultActionForPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16;
- (void)mapsCardViewerAddToBookmarksClicked:(id)fp8;
- (void)mapsCardViewerDirectionsToClicked:(id)fp8;
- (void)mapsCardViewerDirectionsFromClicked:(id)fp8;
- (BOOL)isCardPartiallyFilled;
- (BOOL)isPhonePropertyDisplayed;
- (void)presentDifferentiationSheet:(id)fp8;
- (void)dismissDifferentiationSheet:(id)fp8;
- (void)doDelayedAnimationStart:(id)fp8;
- (BOOL)allowsCardEditing;
- (void)setAllowsCardDeletion:(BOOL)fp8;
- (BOOL)allowsCardDeletion;
- (void)setIsEditable:(BOOL)fp8 animate:(BOOL)fp12;
- (BOOL)isEditable;
- (void)setEditingProgress:(float)fp8;
- (float)editingProgress;
- (BOOL)isModifying;
- (void)setModifying:(BOOL)fp8;
- (BOOL)isAnimating;
- (void)makeDelegateShowEditorForItems:(id)fp8 navTitle:(id)fp12 displayMode:(int)fp16;
- (void)showNameEditorForPerson:(struct CPRecord *)fp8 withNameControl:(id)fp12;
- (void)editNameWithNameControl:(id)fp8;
- (void)tappedImageView;
- (void)deleteCard;
- (void)setCardViewerDelegate:(id)fp8;
- (id)cardViewerDelegate;
- (void)setDisplayedPerson:(struct CPRecord *)fp8 andScrollToTop:(BOOL)fp12;
- (void)setDisplayedPerson:(struct CPRecord *)fp8;
- (struct CPRecord *)displayedPerson;
- (void)setCardViewerDisplayedProperties:(struct __CFArray *)fp8;
- (struct __CFArray *)displayedProperties;
- (void)setCardViewerTagLine:(id)fp8;
- (id)cardViewerTagLine;
- (void)manageRingtones;
- (void)back:(BOOL)fp8 save:(BOOL)fp12;
- (void)reload;

@end

@interface ABCardControllerAnimation : UIAnimation
{
    SEL _progressAction;
    void *_hacked_impl;
}

- (void)setProgressAction:(SEL)fp8;
- (void)setProgress:(float)fp8;

@end

@interface ABAllGroup : NSObject
{
}

+ (id)allGroup;
- (id)compositeName;

@end

@interface ABPeoplePicker : UIView
{
    ABUIController *_uiController;
    id _delegate;
}

+ (int)sortOrdering;
+ (struct __CFArray *)copyDefaultDisplayedProperties;
+ (id)genericPersonImage;
+ (void)preload;
- (id)initWithFrame:(struct CGRect)fp8;
- (id)initAsAddressBookWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (id)delegate;
- (void)setValue:(id)fp8;
- (void)setBehavior:(int)fp8;
- (void)restoreDefaultState;
- (void)resume;
- (void)suspend;
- (BOOL)saveState;
- (void)setDisplayedProperties:(struct __CFArray *)fp8;
- (struct __CFArray *)displayedProperties;
- (void)setPrompt:(id)fp8;
- (void)setRightButtonTitle:(id)fp8;
- (void)setDisplayedPerson:(struct CPRecord *)fp8;
- (struct CPRecord *)displayedPerson;
- (BOOL)isDisplayingPerson;
- (struct CPRecord *)displayedGroup;
- (void)scrollPersonToView:(struct CPRecord *)fp8;
- (void)displayScrollerIndicators;
- (void)setBannerTitle:(id)fp8 value:(id)fp12;
- (id)uiController;
- (void)setAllowsCancel:(BOOL)fp8;
- (BOOL)allowsCancel;
- (void)setAllowsOtherValue:(BOOL)fp8;
- (BOOL)allowsOtherValue;
- (void)setAllowsCardEditing:(BOOL)fp8;
- (BOOL)allowsCardEditing;
- (void)setAllowsOtherValue:(int)fp8 cancel:(int)fp12 editing:(int)fp16;
- (void)setAllowsActions:(BOOL)fp8;
- (BOOL)performDefaultActionForPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16;
- (id)itemViewForPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16;
- (id)memberCellForSelectedPerson;

@end

@interface ABUIController : NSObject
{
    ABPeoplePicker *_peoplePicker;
    NSMutableArray *_controllerStack;
    ABGroupsController *_groupsController;
    ABMembersController *_membersController;
    ABCardController *_cardController;
    ABEditorController *_editorController;
    ABImagePickerController *_imagePickerController;
    ABSimpleTextInputLayer *_activeSimpleTextInputLayer;
    int _preTextInputDisplayMode;
    UIView *_preTextInputBaseView;
    ABModel *_model;
    struct __CFArray *_displayedProperties;
    UINavigationBar *_navBar;
    id _navBarButtonTarget;
    SEL _navBarLeftButtonAction;
    SEL _navBarRightButtonAction;
    NSString *_rightButtonTitle;
    UITransitionView *_cardTransitionLayer;
    UITransitionView *_baseTransitionLayer;
    UITransitionView *_navAndContentTransitionLayer;
    UIView *_placardedContent;
    UIView *_contentView;
    UIWindow *_previousKeyWindow;
    int _previousStatusBarMode;
    ABRingtonePicker *_ringtonePicker;
    ABCountryCodePicker *_countryCodePicker;
    ABItemLabelPicker *_itemLabelPicker;
    int _displayMode;
    BOOL _skipUpdate;
    UIAlertSheet *_alertSheet;
    int _behavior;
    id _value;
    UIView *_bannerView;
    UIPreferencesTable *_cardTable;
    struct {
        unsigned int allowsCancel:1;
        unsigned int allowsOtherValue:1;
        unsigned int allowsCardEditing:1;
        unsigned int notifyDelegateOfEndEditing:1;
        unsigned int haveLoadedCurrentMembers:1;
        unsigned int disableHideNavigationButtons:1;
        unsigned int canceling:1;
        unsigned int refreshMembersCount:1;
        unsigned int unused:25;
    } _controllerFlags;
}

+ (id)sharedInstance;
- (id)initWithPeoplePicker:(id)fp8;
- (void)dealloc;
- (id)controllerStack;
- (void)reflowForCurrentPickerSize;
- (void)reflowForPickerSize:(struct CGSize)fp8;
- (id)peoplePicker;
- (void)updateNavBarButtons;
- (void)updateNavBarButtonsAndAnimate:(BOOL)fp8;
- (void)setDisplayedProperties:(struct __CFArray *)fp8;
- (struct __CFArray *)displayedProperties;
- (void)setPrompt:(id)fp8;
- (void)setRightButtonTitle:(id)fp8;
- (void)setBannerTitle:(id)fp8 value:(id)fp12;
- (void)displayScrollerIndicators;
- (void)setAllowsCancel:(BOOL)fp8;
- (BOOL)allowsCancel;
- (void)setAllowsOtherValue:(BOOL)fp8;
- (BOOL)allowsOtherValue;
- (void)setAllowsCardEditing:(BOOL)fp8;
- (BOOL)allowsCardEditing;
- (void)setAllowsOtherValue:(int)fp8 cancel:(int)fp12 editing:(int)fp16;
- (id)membersController;
- (id)groupsController;
- (id)cardController;
- (id)imagePickerController;
- (id)editorController;
- (struct CPRecord *)selectedPerson;
- (id)model;
- (int)displayMode;
- (void)showGroups;
- (void)_notifyDelegateOfFullScreenDismissal:(id)fp8;
- (void)insertGroupNavItemIfNeeded;
- (id)createNavigationItemWithGroup:(struct CPRecord *)fp8;
- (void)_setMemberCountNeedsRefresh:(BOOL)fp8;
- (void)_updateCountStringForTable:(id)fp8;
- (void)_updateMembersCountStringIfNeeded;
- (void)showMembersOfGroup:(struct CPRecord *)fp8 animate:(BOOL)fp12;
- (void)showCardForPerson:(struct CPRecord *)fp8 animate:(BOOL)fp12;
- (void)toggleEditing;
- (void)beginEditing:(BOOL)fp8;
- (void)endEditing:(BOOL)fp8 postponeUITeardown:(BOOL)fp12;
- (BOOL)isTransitioning;
- (void)setValue:(id)fp8;
- (id)value;
- (void)setBehavior:(int)fp8;
- (int)behavior;
- (void)cancel:(BOOL)fp8;
- (void)cancel;
- (void)newContactViewCancelled:(id)fp8;
- (void)newContactViewCompleted:(id)fp8 withNewPerson:(struct CPRecord *)fp12;
- (void)newContactViewFinishedAnimatingToCardView:(id)fp8 context:(id)fp12;
- (void)add;
- (void)displayAlertSheet:(id)fp8 inView:(id)fp12;
- (void)closeAlertSheetAndAnimate:(BOOL)fp8;
- (void)closeAlertSheet;
- (void)remove;
- (void)enterOtherValue;
- (void)removeRecord:(struct CPRecord *)fp8;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)showActionsView:(id)fp8 withTitle:(id)fp12;
- (void)dismissActionPickerAndUpdateNavBarButtons:(BOOL)fp8 animate:(BOOL)fp12;
- (void)dismissActionPicker;
- (void)showRingtonePicker;
- (void)hideRingtonePicker;
- (void)showEditorForItems:(id)fp8 navTitle:(id)fp12 displayMode:(int)fp16;
- (void)personWasSelected:(struct CPRecord *)fp8;
- (void)showInsertEditorForPerson:(struct CPRecord *)fp8;
- (void)showCountryCodeEditorForItem:(id)fp8;
- (void)countryCodePicker:(id)fp8 endedWithSelectionConfirmed:(BOOL)fp12 animate:(BOOL)fp16;
- (void)showPropertyPicker:(id)fp8 navTitle:(id)fp12 displayMode:(int)fp16;
- (void)itemLabelPickerListChanged:(id)fp8;
- (void)toggleItemLabelEditing;
- (void)showLabelEditorForItem:(id)fp8 additionalLabels:(id)fp12 property:(int)fp16;
- (void)itemLabelPicker:(id)fp8 endedWithSelectionConfirmed:(BOOL)fp12 animate:(BOOL)fp16;
- (id)itemLabelPickerPresentSimpleTextInputLayerWithContext:(id)fp8;
- (void)itemLabelPicker:(id)fp8 dismissSimpleTextInputLayer:(id)fp12;
- (void)showSimpleTextInputLayer:(id)fp8;
- (void)imagePickerWillBeShown:(id)fp8;
- (void)imagePickerFinishedShowing:(id)fp8;
- (void)showImageMenu;
- (void)imagePickerWillBeRemoved:(id)fp8;
- (void)tearDownImagePickerController;
- (void)imagePicker:(id)fp8 pickedPhoto:(id)fp12;
- (void)imagePicker:(id)fp8 presentAlertSheet:(id)fp12;
- (void)imagePicker:(id)fp8 dismissAlertSheet:(id)fp12;
- (struct CGSize)contentSize;
- (struct CGSize)fullScreenSize;
- (struct CGSize)fullScreenContentSize;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)registerNavBarButtonsWithTarget:(id)fp8 left:(id)fp12 right:(id)fp16 leftAction:(SEL)fp20 rightAction:(SEL)fp24 leftStyle:(int)fp28 rightStyle:(int)fp32;
- (BOOL)navigationBar:(id)fp8 shouldPopItem:(id)fp12;
- (void)navigationBar:(id)fp8 poppedItem:(id)fp12;
- (void)transitionViewDidStart:(id)fp8;
- (void)transitionViewDidComplete:(id)fp8;
- (void)backAnimate:(BOOL)fp8;
- (void)back;
- (void)restoreDefaultState;
- (void)suspend;
- (void)resume;
- (void)loadState;
- (BOOL)saveState;
- (void)jumpToMembersList:(BOOL)fp8 save:(BOOL)fp12;
- (void)reloadTopController;
- (void)editingFieldChanged;

@end

@interface ABContentController : NSObject <ABContentControllerProtocol>
{
    id _contentControllerDelegate;
    UIView *_contentLayer;
}

- (id)initWithContentControllerDelegate:(id)fp8;
- (void)dealloc;
- (id)contentControllerDelegate;
- (void)setContentControllerDelegate:(id)fp8;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (id)contentView;
- (void)cleanUpContentLayer;
- (void)displayScrollerIndicators;
- (void)back:(BOOL)fp8 save:(BOOL)fp12;
- (void)reload;
- (void)preloadController;

@end

@interface ABGroupCell : UITableCell
{
    struct CPRecord *_group;
}

- (id)initWithSize:(struct CGSize)fp8 group:(struct CPRecord *)fp16;
- (void)drawRect:(struct CGRect)fp8;
- (struct CPRecord *)group;

@end

@interface ABMemberCell : UITableCell
{
    struct CPRecord *_member;
    NSArray *_namePieces;
    int _highlightIndex;
    BOOL _isGroup;
}

- (id)initWithSize:(struct CGSize)fp8 member:(struct CPRecord *)fp16;
- (void)dealloc;
- (void)setNamePieces:(id)fp8;
- (void)setHighlightIndex:(long)fp8;
- (void)setGroup:(BOOL)fp8;
- (id)groupName;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;
- (struct CPRecord *)member;
- (void)setMember:(struct CPRecord *)fp8;
- (id)description;
- (id)_automationID;

@end

@interface ABEditorController : ABContentController
{
    NSMutableArray *_editorItems;
    unsigned int _allowsLabels;
}

- (void)dealloc;
- (id)contentView;
- (void)setEditorItems:(id)fp8;
- (id)editorItems;
- (BOOL)editorsNeedAllTheScrollingTheyCanGet;
- (void)cleanUpContentLayer;
- (BOOL)hasChanges:(char *)fp8 commit:(BOOL)fp12 force:(BOOL)fp16;
- (BOOL)hasTextInFields;
- (void)commitChangesAndSave:(BOOL)fp8;
- (void)keyboardAccepted:(id)fp8;
- (void)keyboardCancelled:(id)fp8;
- (void)back:(BOOL)fp8 save:(BOOL)fp12;
- (void)reload;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;

@end

@interface ABCardEditingLayer : UIView
{
    ABEditorController *_editingController;
    UIScroller *_scroller;
    UIKeyboard *_keyboard;
    UIDatePicker *_datePicker;
    BOOL _reallyNeedsLayout;
}

- (id)initWithSize:(struct CGSize)fp8;
- (void)setEditingController:(id)fp8;
- (id)updateButtonBarAndKeyboard:(BOOL)fp8 withType:(int)fp12 datePickerDelegate:(id)fp16;
- (void)update;
- (unsigned int)becomeFirstResponder;
- (void)setNeedsLayout;
- (void)layoutSubviews;
- (id)editorModelForLayer:(id)fp8;
- (void)editCountryCodeForItemEditorLayer:(id)fp8;
- (void)editLabelForItemEditorLayer:(id)fp8 additionalLabels:(id)fp12 property:(int)fp16;
- (void)fieldEndedEditing:(id)fp8;
- (void)itemEditorDidRefreshUI:(id)fp8;
- (void)itemFieldTextChanged:(id)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface ABPropertyGroup : NSObject
{
    struct CPRecord *_record;
    int _property;
    ABActionsController *_actionsController;
    ABCardController *_cardController;
}

- (id)initWithRecord:(struct CPRecord *)fp8 property:(int)fp12 cardController:(id)fp16;
- (void)dealloc;
- (int)property;
- (struct CPRecord *)record;
- (unsigned int)propertyCount;
- (BOOL)isMultiValueProperty;
- (id)copyStringValueAtIndex:(int)fp8;
- (id)copyLabelAtIndex:(int)fp8;
- (int)identifierAtIndex:(int)fp8;
- (int)indexOfIdentifier:(int)fp8;
- (void)deleteItemAtIndex:(int)fp8;
- (id)actionsControllerPreparedWithValueAtIndex:(int)fp8;
- (void)prepareActionsController:(id)fp8 withValueAtIndex:(int)fp12;

@end

@interface ABAlphaAnimation : UIAlphaAnimation
{
}

- (void)setProgress:(float)fp8;

@end

@interface ABCardNameInternalView : UIControl
{
    ABCardNameControl *_cardNameControl;
    BOOL _drawName;
}

- (id)initWithSize:(struct CGSize)fp8 cardNameControl:(id)fp16 namePart:(BOOL)fp20;
- (void)setFrame:(struct CGRect)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface ABCardNameControl : UIControl
{
    ABCardController *_cardController;
    struct CPRecord *_displayedPerson;
    UIView *_backgroundView;
    UIView *_nameView;
    NSString *_tagLine;
    BOOL _editable;
}

+ (struct __GSFont *)createNameFont;
+ (struct CGColor *)createNameColor;
+ (struct CGColor *)createNameBevelColor;
+ (struct __GSFont *)createTagLineFont;
- (id)initWithCardController:(id)fp8 frame:(struct CGRect)fp12;
- (void)dealloc;
- (struct CGSize)sizeToFitWithMinimumHeight:(float)fp8;
- (void)setDisplayedPerson:(struct CPRecord *)fp8;
- (void)setTagLine:(id)fp8;
- (void)setHighlighted:(BOOL)fp8;
- (void)setFrame:(struct CGRect)fp8;
- (void)layoutSubviews;
- (void)setEditable:(BOOL)fp8;
- (id)copyTagLine;
- (id)copyCompositeNameWithTagLine:(id)fp8 isPlaceholder:(char *)fp12;
- (struct __GSFont *)createFontForName:(id)fp8 withWidth:(float)fp12;
- (float)verticalOffsetForNameWithTextSize:(struct CGSize)fp8 tagLines:(id)fp16;
- (struct CGRect)usableNameBounds;
- (void)drawNameInView:(id)fp8 withClipRect:(struct CGRect)fp12;
- (BOOL)beginTrackingAt:(struct CGPoint)fp8 withEvent:(struct __GSEvent *)fp16;
- (void)setNeedsDisplay;
- (struct __CFArray *)copyNamePropertiesForEditing:(BOOL)fp8;

@end

@interface ABEditorModel : NSObject
{
    struct CPRecord *_person;
    int _property;
    int _identifier;
    id _originalValue;
    id _insertedValue;
    NSString *_originalLabel;
    ABCardItemEditorLayer *_subeditorLayer;
}

- (id)initWithPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16 insertedValue:(id)fp20;
- (void)labelDeleted:(id)fp8;
- (void)dealloc;
- (int)property;
- (int)identifier;
- (struct CPRecord *)person;
- (id)value;
- (id)insertedValue;
- (id)subeditorLayer;
- (BOOL)hasChanges;
- (BOOL)atleastOneFieldHasData;
- (void)updateRecord;

@end

@interface ABCardItemEditorEntryLayer : UIView
{
    NSString *_value;
}

- (void)setDelegate:(id)fp8;
- (BOOL)endEditing:(BOOL)fp8;
- (void)setValue:(id)fp8;
- (id)text;
- (void)drawRect:(struct CGRect)fp8;
- (void)dealloc;

@end

@interface ABCardItemEditorLayer : UIView
{
    int _property;
    NSArray *_fieldEditableKeys;
    NSMutableDictionary *_entryFields;
    UIPreferencesTableCell *_labelPicker;
    NSString *_label;
    NSArray *_knownLabels;
    ABPersonImageView *_personImageView;
    ABCardNameControl *_personNameView;
    NSMutableArray *_bubbles;
    struct {
        unsigned int valueIsEditable:1;
        unsigned int useFullHeight:1;
        unsigned int reallyNeedsLayout:1;
        unsigned int hasTextBefore:1;
        unsigned int unused:28;
    } _itemEditorLayerFlags;
    id _delegate;
    UIPreferencesTableCell *_countryCodeButton;
    NSString *_countryCode;
    NSString *_localizedCountryName;
    id _previousValue;
    id _currentValue;
    int _groupingOutline;
}

+ (struct CGSize)defaultSizeForProperty:(int)fp8 displayingPerson:(BOOL)fp12;
+ (id)formattedFieldEditableKeysForPropertyByLine:(int)fp8 forCountryCode:(id)fp12;
- (id)initWithProperty:(int)fp8 value:(id)fp12 selectedLabel:(id)fp16 labels:(id)fp20 valueEditable:(BOOL)fp24 displayedPerson:(struct CPRecord *)fp28 showCardHeader:(BOOL)fp32;
- (void)dealloc;
- (void)setFrame:(struct CGRect)fp8;
- (BOOL)useFullHeight;
- (void)setUseFullHeight:(BOOL)fp8;
- (void)setGroupingOutline:(int)fp8;
- (void)fieldEndedEditing:(id)fp8;
- (CDAnonymousStruct3)suggestionsForString:(id)fp8 inputIndex:(unsigned int)fp12;
- (id)keyboardInputOverlayContainer:(id)fp8;
- (BOOL)endEditing:(BOOL)fp8;
- (id)entryFieldForKey:(id)fp8 localizedPlaceholder:(id)fp12 stringValue:(id)fp16 keyboardSettings:(id)fp20 useLargeFont:(BOOL)fp24 multiLine:(BOOL)fp28;
- (void)setSelectedLabel:(id)fp8;
- (id)createBubbleWithFrame:(struct CGRect)fp8 action:(SEL)fp24;
- (id)bubbleAtIndex:(unsigned int)fp8 withFrame:(struct CGRect)fp12 action:(SEL)fp28;
- (id)labelPickerWithSelectedLabel:(id)fp8;
- (void)setLocalizedCountryName:(id)fp8;
- (id)copyLocalizedCountryNameForCountryCode:(id)fp8;
- (void)_updateCountryCodeButtonText;
- (void)countryCodeButtonClicked:(id)fp8;
- (void)labelPickerDisclosureButtonClicked:(id)fp8;
- (id)countryCodeValueButton;
- (void)setupAddressEntryFieldWithKey:(id)fp8 lineItemInfo:(id)fp12 value:(id)fp16 origin:(struct CGPoint *)fp20 itemSpace:(float)fp24 container:(id)fp28;
- (void)setupAddressSublayersWithValue:(id)fp8 selectedLabel:(id)fp12 origin:(struct CGPoint *)fp16;
- (void)setupInstantMessageSublayersWithValue:(id)fp8 selectedLabel:(id)fp12 origin:(struct CGPoint *)fp16;
- (void)setupMultiLineStringPropertySublayersWithValue:(id)fp8 selectedLabel:(id)fp12 origin:(struct CGPoint *)fp16;
- (void)setupStringPropertySublayersWithValue:(id)fp8 selectedLabel:(id)fp12 origin:(struct CGPoint *)fp16;
- (void)setupDateTimePropertySublayersWithValue:(id)fp8 selectedLabel:(id)fp12 origin:(struct CGPoint *)fp16;
- (void)setupSublayersWithValue:(id)fp8 selectedLabel:(id)fp12 createUI:(BOOL)fp16;
- (void)refreshUIWithChangedCountryCode:(id)fp8;
- (void)refreshUIWithChangedValue:(id)fp8 forProperty:(id)fp12;
- (void)refreshUI;
- (int)editorInputType;
- (void)setNeedsLayout;
- (void)layoutSubviews;
- (void)refreshUIWithChangedLabel:(id)fp8;
- (id)value;
- (BOOL)atleastOneFieldHasData;
- (BOOL)allFieldsHaveData;
- (id)selectedLabel;
- (unsigned int)becomeFirstResponder;
- (void)setDelegate:(id)fp8;
- (void)notifyDelegateEditorHasText:(id)fp8;
- (BOOL)textView:(id)fp8 shouldInsertText:(id)fp12;
- (void)_textValueChanged:(id)fp8;
- (void)datePickerChanged:(id)fp8;

@end

@interface NSDictionary (ABCompare)
- (int)abCompare:(id)fp8;
@end

@interface NSString (ABCompare)
- (int)abCompare:(id)fp8;
@end

@interface ABCardViewer : ABAbstractCardView
{
}

+ (struct __CFArray *)copyDefaultDisplayedProperties;
- (void)setDisplayedPerson:(struct CPRecord *)fp8;
- (void)setAllowsActions:(BOOL)fp8;
- (void)setDisplayedProperties:(struct __CFArray *)fp8;
- (struct __CFArray *)displayedProperties;
- (void)setTagLine:(id)fp8;
- (void)setHighlightedItemForProperty:(int)fp8 withIdentifier:(int)fp12 important:(BOOL)fp16;
- (BOOL)performDefaultActionForPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16;

@end

@interface ABFlipTransitionLayer : UIView
{
    UIView *_layer1;
    UIView *_layer2;
    UIView *_l1Top;
    UIView *_l1Bottom;
    UIView *_l2Top;
    UIView *_l2Bottom;
    UIView *_topShadowLayer;
    UIView *_bottomShadowLayer;
    BOOL _useShadow;
    id _delegate;
}

- (id)initWithLayer:(id)fp8 replacement:(id)fp12;
- (id)toView;
- (id)fromView;
- (void)setup;
- (void)animateHalfDown;
- (void)animateAllDown;
- (void)animator:(id)fp8 stopAnimation:(id)fp12;
- (void)fold;
- (void)setDelegate:(id)fp8;

@end

@interface ABRingtonePicker : UIView
{
    UIPreferencesTable *_table;
    ABRingtoneTableController *_tableController;
    id _delegate;
}

- (id)initWithFrame:(struct CGRect)fp8 avController:(id)fp24;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)_reloadData;
- (void)setAVController:(id)fp8;
- (void)setShowsDefault:(BOOL)fp8;
- (void)setShowsNone:(BOOL)fp8;
- (void)setNoneString:(id)fp8;
- (void)setDelegate:(id)fp8;
- (void)buildUIWithAVController:(id)fp8;
- (void)ringtoneManagerContentsChanged:(id)fp8;
- (void)setSelectedRingtoneIdentifier:(id)fp8;
- (id)selectedRingtoneIdentifier;
- (void)setPerson:(struct CPRecord *)fp8;
- (struct CPRecord *)person;
- (void)displayScrollerIndicators;
- (void)stopPlaying;
- (void)stopPlayingWithFadeOut:(BOOL)fp8;
- (void)finishedWithPicker;
- (void)ringtoneTableController:(id)fp8 selectedRingtoneWithIdentifier:(id)fp12;
- (void)ringtoneTableController:(id)fp8 willPlayRingtoneWithIdentifier:(id)fp12;

@end

@interface ABRingtoneCell : UIPreferencesTableCell
{
    NSString *_ringtoneIdentifier;
}

- (void)dealloc;
- (void)setRingtoneIdentifier:(id)fp8;
- (id)ringtoneIdentifier;

@end

@interface ABCountryCodePicker : UIView
{
    id _delegate;
    id _editedItem;
    NSString *_selectedCountryCode;
    UISectionList *_sectionList;
    NSArray *_sortedRegions;
    NSArray *_sortedRegionsIndices;
    NSArray *_sortedCountryInfos;
    unsigned int _manuallySettingRowSelection:1;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setEditedItem:(id)fp8;
- (id)editedItem;
- (void)_setSelectedCountryCode:(id)fp8;
- (void)setSelectedCountryCode:(id)fp8;
- (id)selectedCountryCode;
- (void)reloadCountryCodes;
- (void)setDelegate:(id)fp8;
- (void)buildUI;
- (void)_didEndPickingAndConfirmed:(BOOL)fp8 animate:(BOOL)fp12;
- (void)tableRowSelected:(id)fp8;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16 reusing:(id)fp20;
- (int)numberOfSectionsInSectionList:(id)fp8;
- (id)sectionList:(id)fp8 titleForSection:(int)fp12;
- (int)sectionList:(id)fp8 rowForSection:(int)fp12;
- (void)back:(BOOL)fp8 save:(BOOL)fp12;
- (void)reload;

@end

@interface ABItemLabelPicker : UIView
{
    id _delegate;
    id _editedItem;
    NSString *_selectedItemLabel;
    int _selectedGroup;
    int _selectedRow;
    UIPreferencesTable *_table;
    NSMutableArray *_additionalLabels;
    struct __CFArray *_sortedCustomItemLabelInfos;
    struct __CFArray *_sortedDefaultItemLabelInfos;
    void *_sortedCustomItemLabelInfosMemory;
    void *_sortedDefaultItemLabelInfosMemory;
    int _property;
    unsigned int _manuallySettingRowSelection:1;
}

+ (id)defaultLabelsForProperty:(int)fp8;
+ (id)defaultLabelsForProperty:(int)fp8 person:(struct CPRecord *)fp12 outBestLabelIndex:(int *)fp16;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)resetLabelCaches;
- (void)setProperty:(int)fp8;
- (void)setEditedItem:(id)fp8;
- (id)editedItem;
- (void)setAdditionalLabels:(id)fp8;
- (void)_setSelectedItemLabel:(id)fp8;
- (void)setSelectedItemLabel:(id)fp8;
- (id)selectedItemLabel;
- (void)_syncTableSelectionWithSelectedLabel;
- (void)reloadItemLabels;
- (void)reloadData;
- (void)setDelegate:(id)fp8;
- (void)buildUI;
- (void)_didEndPickingAndConfirmed:(BOOL)fp8 animate:(BOOL)fp12;
- (BOOL)canEdit;
- (BOOL)isEditing;
- (void)edit;
- (void)done;
- (void)toggleEditing;
- (void)simpleTextInputLayer:(id)fp8 endedWithSelectionConfirmed:(BOOL)fp12 animate:(BOOL)fp16;
- (void)new;
- (BOOL)shouldPopItem;
- (void)back:(BOOL)fp8 save:(BOOL)fp12;
- (void)reload;
- (void)displayScrollerIndicators;
- (void)tableRowSelected:(id)fp8;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (BOOL)preferencesTable:(id)fp8 isRadioGroup:(int)fp12;
- (void)table:(id)fp8 deleteRow:(int)fp12;
- (BOOL)table:(id)fp8 canDeleteRow:(int)fp12;
- (void)table:(id)fp8 insertAtRow:(int)fp12;
- (BOOL)table:(id)fp8 canInsertAtRow:(int)fp12;

@end

@interface ABSimpleTextInputLayer : UIView
{
    UIPreferencesTextTableCell *_inputField;
    UIView *_contentView;
    UIKeyboard *_keyboard;
    id _delegate;
    UINavigationBar *_navBar;
    BOOL _lastHasText;
}

- (id)initWithFrame:(struct CGRect)fp8 context:(id)fp24;
- (void)dealloc;
- (id)text;
- (void)setDelegate:(id)fp8;
- (id)delegate;
- (void)setLocalizedNavigationTitle:(id)fp8;
- (id)createEntryFieldForStringValue:(id)fp8;
- (void)buildUI;
- (unsigned int)becomeFirstResponder;
- (void)movedFromSuperview:(id)fp8;
- (void)_didEndPickingAndConfirmed:(BOOL)fp8 animate:(BOOL)fp12;
- (void)doneButtonClicked:(id)fp8;
- (void)cancelButtonClicked:(id)fp8;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)fieldEndedEditing:(id)fp8;
- (void)back:(BOOL)fp8 save:(BOOL)fp12;
- (void)reload;
- (void)_textValueChanged:(id)fp8;

@end

@interface ABSimpleTextInputLayerContext : NSObject
{
    NSString *_localizedNavigationTitle;
    int _keyboardType;
    int _textAutoCapsType;
    int _suggestionBarVisibility;
    id _delegate;
}

- (id)init;
- (void)dealloc;
- (void)setLocalizedNavigationTitle:(id)fp8;
- (void)setPreferredKeyboardType:(int)fp8;
- (void)setAutoCapsType:(int)fp8;
- (void)setSuggestionBarVisibility:(int)fp8;
- (void)setDelegate:(id)fp8;

@end

@interface ABNewContactView : UIView
{
    UITransitionView *_fullTransitionView;
    UIView *_mainFullView;
    UINavigationBar *_navBar;
    UITransitionView *_contentTransitionView;
    UIView *_currentPicker;
    UIPreferencesTable *_cardTable;
    ABCardTableController *_cardTableController;
    ABCardController *_cardController;
    NSString *_contactPropertyInsertionValue;
    NSString *_label;
    int _contactPropertyID;
    id _delegate;
    int _displayedAuxType;
    struct CPRecord *_person;
    ABEditorController *_editorController;
    ABImagePickerController *_imagePickerController;
    ABRingtonePicker *_ringtonePicker;
}

- (id)initWithFrame:(struct CGRect)fp8 person:(struct CPRecord *)fp24 updateNavigationBar:(BOOL)fp28;
- (id)initWithFrame:(struct CGRect)fp8 person:(struct CPRecord *)fp24;
- (id)initWithFrame:(struct CGRect)fp8 insertionValue:(id)fp24 contactProperty:(int)fp28 suggestedFirstName:(id)fp32 suggestedLastName:(id)fp36;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)suspend;
- (id)value;
- (id)peoplePicker;
- (void)animateToCardView:(id)fp8 withNavigationBar:(id)fp12 buttonBar:(id)fp16 context:(id)fp20;
- (void)animationDidStop:(id)fp8 finished:(id)fp12 context:(CDAnonymousStruct2 *)fp16;
- (void)_buildUI;
- (id)viewForAuxilaryViewType:(int)fp8;
- (id)viewForAuxilaryViewType:(int)fp8 withFrame:(struct CGRect)fp12 context:(id)fp28;
- (void)_setInsertionValue:(id)fp8 contactProperty:(int)fp12;
- (void)_setSuggestedFirstName:(id)fp8 suggestedLastName:(id)fp12;
- (BOOL)allFieldsHaveData;
- (void)transitionViewDidComplete:(id)fp8;
- (struct CGSize)fullScreenContentSize;
- (void)showEditorForItems:(id)fp8 navTitle:(id)fp12 displayMode:(int)fp16;
- (void)editingFieldChanged;
- (void)cardController:(id)fp8 deletedProperty:(int)fp12 withIdentifier:(int)fp16;
- (BOOL)allowsCardEditing;
- (void)showPropertyPicker:(id)fp8 navTitle:(id)fp12 displayMode:(int)fp16;
- (void)_cancel:(id)fp8;
- (void)_save:(id)fp8;
- (void)updateRightButtonEnabledState;
- (void)updateNavigationBar;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)navigationBar:(id)fp8 poppedItem:(id)fp12;
- (id)itemLabelPicker;
- (void)itemLabelPickerListChanged:(id)fp8;
- (void)toggleItemLabelEditing;
- (void)showLabelEditorForItem:(id)fp8 additionalLabels:(id)fp12 property:(int)fp16;
- (void)itemLabelPicker:(id)fp8 endedWithSelectionConfirmed:(BOOL)fp12 animate:(BOOL)fp16;
- (id)itemLabelPickerPresentSimpleTextInputLayerWithContext:(id)fp8;
- (void)itemLabelPicker:(id)fp8 dismissSimpleTextInputLayer:(id)fp12;
- (id)countryCodePicker;
- (void)showCountryCodeEditorForItem:(id)fp8;
- (void)countryCodePicker:(id)fp8 endedWithSelectionConfirmed:(BOOL)fp12 animate:(BOOL)fp16;
- (id)cardController;
- (struct CPRecord *)selectedPerson;
- (id)imagePickerController;
- (void)imagePickerWillBeShown:(id)fp8;
- (void)imagePickerFinishedShowing:(id)fp8;
- (void)showImageMenu;
- (void)imagePickerWillBeRemoved:(id)fp8;
- (void)tearDownImagePickerController;
- (void)imagePicker:(id)fp8 pickedPhoto:(id)fp12;
- (id)ringtonePicker;
- (void)showRingtonePicker;

@end

@interface ABImageWellLabelView : UIView
{
    NSString *_label;
    UIImage *_editOverlayImage;
    UIImage *_maskImage;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setLabel:(id)fp8;
- (void)setEditOverlayImage:(id)fp8;
- (void)setMaskImage:(id)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface ABPersonImageView : UIControl
{
    struct CPRecord *_displayedPerson;
    ABClippingImageView *_personImageView;
    ABClippingImageView *_wellBorderView;
    ABClippingImageView *_currentBorderView;
    ABClippingImageView *_outlineBorderView;
    ABClippingImageView *_editBorderView;
    ABClippingImageView *_pressedView;
    UIView *_bounceImageView;
    ABImageWellLabelView *_wellLabel;
    UIImage *_personImage;
    BOOL _isEditing;
    BOOL _showLabel;
    float _bounceProgress;
    BOOL _isAnimating;
}

+ (id)genericPersonImage;
+ (id)genericOrganizationImage;
+ (id)genericEditPersonImage;
+ (void)loadDefaultImage;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)setHighlighted:(BOOL)fp8;
- (void)dealloc;
- (void)setShowsLabel:(BOOL)fp8 animate:(BOOL)fp12;
- (void)reflow;
- (void)reload;
- (void)setDisplayedPerson:(struct CPRecord *)fp8;
- (void)setPersonImage:(id)fp8;
- (void)finishedEditingAnimation;
- (void)setIsEditing:(BOOL)fp8 animate:(BOOL)fp12;
- (void)bounceAnimationFinished;
- (void)setBouncedImageView:(id)fp8;

@end

@interface ABUnknownCardViewer : ABAbstractCardView
{
    id _unknownCardViewerDelegate;
    ABActionsController *_actionsController;
}

+ (id)createCardTableControllerWithCardController:(id)fp8;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (id)cardTableController;
- (void)setUnknownCardViewerDelegate:(id)fp8;
- (void)setStringValue:(id)fp8 forContactProperty:(int)fp12;
- (id)stringValueForProperty:(int)fp8;
- (void)setAllowAddingToAddressBook:(BOOL)fp8;
- (void)setAllowActions:(BOOL)fp8;
- (void)contactInfoButtonClicked:(id)fp8;
- (void)presentPickerUI:(id)fp8;
- (void)addNewContactButtonClicked:(id)fp8;
- (void)addToExistingContactButtonClicked:(id)fp8;
- (void)didEndPickingUI:(id)fp8 didResolveToPerson:(struct CPRecord *)fp12 endSession:(BOOL)fp16;
- (void)peoplePickerDidEndPicking:(id)fp8;
- (void)peoplePicker:(id)fp8 editedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (void)newContactViewCancelled:(id)fp8;
- (void)newContactViewCompleted:(id)fp8 withNewPerson:(struct CPRecord *)fp12;

@end

@interface NSMutableArray (ABStackAdditions)
- (void)abPush:(id)fp8;
- (id)abPop;
- (id)abTop;
@end

@interface ABFavoritesLookupChangeRecord : NSObject
{
    int identifier;
    int uid;
    NSString *value;
    NSString *name;
    NSString *label;
    NSString *abDatabaseUUID;
}

@end

@interface ABFavoritesEntry : NSObject
{
    int _abUid;
    int _abIdentifier;
    NSString *_value;
    int _property;
    unsigned int _dirty:1;
    NSString *_label;
    NSString *_name;
    NSString *_abDatabaseUUID;
}

- (id)initWithPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16;
- (id)initWithDictionaryRepresentation:(id)fp8;
- (id)dictionaryRepresentation;
- (void)dictionaryRepresentation:(id *)fp8 isDirty:(char *)fp12;
- (void)dealloc;
- (id)displayName;
- (int)property;
- (id)label;
- (id)value;
- (int)identifier;
- (struct CPRecord *)ABPerson;
- (int)_abUid;
- (BOOL)isEqual:(id)fp8;
- (void)recheckAddressBook;

@end

@interface ABFavoritesEntry (Lookup)
+ (void)_runLookup;
- (void)_queueLookup;
- (void)_unqueueLookup;
- (void)_postEntryChanged;
- (void)_lookupNotFound;
- (void)_lookupChanged:(id)fp8;
@end

@interface ABFavoritesList : NSObject
{
    NSMutableArray *_list;
    struct __CFDictionary *_uidToEntry;
    struct {
        unsigned int dirty:1;
        unsigned int postCount:1;
        unsigned int needsReload:1;
        unsigned int unused:29;
    } _flags;
}

+ (id)sharedInstance;
- (void)_initializeList;
- (id)init;
- (void)dealloc;
- (void)_scheduleSave;
- (id)entries;
- (BOOL)isFull;
- (id)entriesForPerson:(struct CPRecord *)fp8;
- (id)entryWithIdentifier:(int)fp8 forPerson:(struct CPRecord *)fp12;
- (BOOL)containsEntryWithIdentifier:(int)fp8 forPerson:(struct CPRecord *)fp12;
- (BOOL)addEntryForPerson:(struct CPRecord *)fp8 property:(int)fp12 withIdentifier:(int)fp16;
- (void)_addEntryToMap:(id)fp8;
- (void)_removeEntryFromMap:(id)fp8 withUid:(int)fp12;
- (void)_entryIdentityChanged:(id)fp8;
- (void)_postChangeNotification;
- (void)_listChangedExternally;
- (void)addEntry:(id)fp8;
- (void)removeEntryAtIndex:(int)fp8;
- (void)moveEntryAtIndex:(int)fp8 toIndex:(int)fp12;
- (BOOL)_writeFavoritesToFile:(id)fp8;
- (void)save;
- (void)recacheIdentitiesSoon;
- (void)_delayedLookup;
- (BOOL)entryIsDuplicateAndThusRemoved:(id)fp8 oldUid:(int)fp12;

@end

@interface ABImagePickerWindow : UIWindow
{
}

+ (struct CGRect)constrainFrameToScreen:(struct CGRect)fp8;
- (id)contentView;

@end

@interface ABImagePickerController : ABContentController
{
    BOOL _hasExistingPhoto;
    BOOL _confirmingDelete;
    UIView<ABPLPhotoPickerProtocol> *_photoPicker;
    ABImagePickerWindow *_imagePickerWindow;
    struct CPRecord *_person;
    int _animations;
}

- (void)dealloc;
- (BOOL)hasMultipleActions;
- (id)contentView;
- (void)animationsComplete;
- (void)finishedSlidingPickerDown;
- (id)imagePickerWindow;
- (void)_finshedShowImagePickerWindow;
- (void)showImagePickerWindow:(id)fp8 andNotifyController:(BOOL)fp12;
- (void)showImagePickerWindow:(id)fp8;
- (void)slidePickerDownWindow:(SEL)fp8;
- (void)slideCompleteNoImage;
- (void)resume;
- (void)suspend;
- (void)photoPickerDidCancel:(id)fp8;
- (void)photoPicker:(id)fp8 didCropPhotoToRect:(struct CGRect)fp12 fullSizeImageData:(id)fp28 fullScreenImageData:(id)fp32 croppedImageData:(id)fp36;
- (struct CGRect)photoPickerCroppedPhotoDestination:(id)fp8 imageView:(id)fp12;
- (void)photoPickerDidCancelAnimatingThrow:(id)fp8 imageView:(id)fp12;
- (void)photoPickerDidFinishAnimatingThrow:(id)fp8 imageView:(id)fp12;
- (void)_fillWindowWithPicker:(BOOL)fp8;
- (void)takePhoto;
- (void)chooseExisting;
- (void)deletePhoto;
- (void)finishEditPhoto:(id)fp8;
- (void)doEditPhoto:(id)fp8;
- (void)editPhoto;
- (void)cancelImageMenu;
- (void)orderOut:(id)fp8;
- (void)back:(BOOL)fp8 save:(BOOL)fp12;
- (void)reload;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;

@end

@interface ABActionsController : NSObject
{
    ABCardController *_cardController;
    int _property;
    NSString *_stringValue;
    NSString *_label;
    int _multiValueIdentifier;
    id _value;
    int _recordID;
}

+ (id)createActionsControllerForProperty:(int)fp8 withCardController:(id)fp12;
- (id)initWithProperty:(int)fp8 cardController:(id)fp12;
- (void)dealloc;
- (int)actionsGroupFirstIndexOfSecondGroup;
- (int)actionsCount;
- (id)actionTitleForIndex:(int)fp8;
- (void)performActionAtIndex:(int)fp8;
- (void)performDefaultAction;
- (void)setLabel:(id)fp8;
- (id)stringValue;
- (void)setStringValue:(id)fp8;
- (id)value;
- (void)setValue:(id)fp8;
- (void)setMultiValueIdentifier:(int)fp8;
- (void)setRecordID:(int)fp8;
- (void)actionSelectedAtIndex:(int)fp8;
- (void)openURLWithFormat:(id)fp8 value:(id)fp12;
- (BOOL)shouldShowAddToFavorites;
- (int)phoneActionsGroupFirstIndexOfSecondGroup;
- (int)phoneActionCount;
- (id)phoneActionTitleForIndex:(int)fp8;
- (void)phoneActionSelectedAtIndex:(int)fp8;
- (int)emailActionsGroupFirstIndexOfSecondGroup;
- (int)emailActionCount;
- (id)emailActionTitleForIndex:(int)fp8;
- (void)emailActionSelectedAtIndex:(int)fp8;
- (int)urlActionsGroupFirstIndexOfSecondGroup;
- (int)urlActionCount;
- (id)urlActionTitleForIndex:(int)fp8;
- (void)urlActionSelectedAtIndex:(int)fp8;
- (int)addressActionsGroupFirstIndexOfSecondGroup;
- (int)addressActionCount;
- (id)addressActionTitleForIndex:(int)fp8;
- (void)addressActionSelectedAtIndex:(int)fp8;
- (int)cardActionsGroupFirstIndexOfSecondGroup;
- (int)cardActionCount;
- (id)cardActionTitleForIndex:(int)fp8;
- (void)cardActionSelectedAtIndex:(int)fp8;

@end

@interface ABBannerView : UIView
{
    NSString *_title;
    NSString *_value;
}

+ (float)defaultHeight;
- (void)setTitle:(id)fp8;
- (id)title;
- (void)setValue:(id)fp8;
- (id)value;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface NSString (ABStringDrawing)
- (struct __GSFont *)createFontFromBaseFont:(struct __GSFont *)fp8 toFitInWidth:(float)fp12 withMinimumFontSize:(float)fp16;
@end

@interface ABCardTitleView : UIView
{
    NSString *_title;
    NSString *_label;
    NSString *_status;
    struct CGColor *_titleColor;
    struct CGColor *_titleBevelColor;
    float _titleFontSize;
    BOOL _leftAligned;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)drawLeftAlignedWithClipRect:(struct CGRect)fp8;
- (void)drawCenteredWithClipRect:(struct CGRect)fp8;
- (void)drawRect:(struct CGRect)fp8;
- (void)setTitleFontSize:(float)fp8;
- (void)setTitleColor:(struct CGColor *)fp8;
- (void)setTitle:(id)fp8;
- (void)setTitleBevelColor:(struct CGColor *)fp8;
- (void)setLabel:(id)fp8;
- (void)setStatus:(id)fp8;
- (void)setLeftAligned:(BOOL)fp8;

@end

@interface ABCardRecentDatesView : UIView
{
    NSMutableDictionary *_timeByDay;
    NSMutableArray *_orderedDays;
    BOOL _recomputeFrameToFit;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (struct CGRect)frameToFit;
- (void)setDates:(id)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface ABAbstractCardView : UIPreferencesTable
{
    ABCardController *_cardController;
    BOOL _showPersonImage;
    ABCardTableController *_cardTableController;
}

+ (id)createCardTableControllerWithCardController:(id)fp8;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setCardViewerDelegate:(id)fp8;
- (id)cardViewerDelegate;
- (id)cardTableController;
- (void)setShowPersonImage:(BOOL)fp8;
- (void)setDatesMessageFormat:(id)fp8;
- (void)setDates:(id)fp8 withMessageFormat:(id)fp12;
- (void)setTitleIsImportant:(BOOL)fp8;
- (void)setTitle:(id)fp8 withMessage:(id)fp12;
- (id)navigationBarTitle;

@end

@interface NSMutableArray (ABMutableArrayViewSortingAdditions)
- (void)abSortViewsTopToBottom;
@end

@interface ABRoundedTextField : UITextField
{
    int _roundedCorners;
    int _visibleEdges;
    UIBezierPath *_contourPath;
    UIBezierPath *_backgroundPath;
}

- (id)initWithFrame:(struct CGRect)fp8 roundedCorners:(int)fp24 visibleEdges:(int)fp28;
- (void)dealloc;
- (void)rebuildPaths;
- (void)setFrame:(struct CGRect)fp8;
- (void)drawBorder:(struct CGRect)fp8;

@end

@interface ABClippingImageView : UIImageView
{
    UIImage *_clippingImage;
    UIImage *_image;
    NSArray *_labelLines;
}

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

@end

@interface ABCardTableController : NSObject
{
    ABCardController *_cardController;
    struct __CFArray *_optionalProperties;
    NSMutableArray *_propertyGroups;
    NSMutableArray *_editablePropertyGroups;
    struct CPRecord *_displayedPerson;
    BOOL _editable;
    BOOL _allowsActions;
    BOOL _allowsDelete;
    BOOL _showMapActions;
    ABCardNameControl *_nameControl;
    ABCardTitleView *_customizedNameView;
    ABPersonImageView *_imageView;
    UIView *_textActionView;
    UIView *_addToFavoritesActionView;
    ABActionsController *_phoneActionsController;
    NSArray *_dates;
    ABCardRecentDatesView *_datesView;
    NSString *_datesMessageFormat;
    int _highlightIdentifier;
    BOOL _highlightImportant;
    int _highlightProperty;
    ABRingtoneManager *_ringtoneManager;
}

- (id)initWithCardController:(id)fp8;
- (void)dealloc;
- (id)personImageView;
- (id)itemViewForPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16 withTable:(id)fp20;
- (void)setDisplayedPerson:(struct CPRecord *)fp8;
- (void)displayedPersonWasModified:(struct CPRecord *)fp8;
- (void)setShowsMapActions:(BOOL)fp8;
- (struct CPRecord *)displayedPerson;
- (void)setAllowsActions:(BOOL)fp8;
- (void)setAllowsCardDeletion:(BOOL)fp8;
- (BOOL)allowsCardDeletion;
- (BOOL)hasAdditionalProperties;
- (BOOL)isPropertyOptional:(int)fp8;
- (id)createPropertyGroupsForEditing:(BOOL)fp8;
- (id)propertyGroupsForEditing:(BOOL)fp8;
- (struct __CFArray *)createAdditionalPropertiesArray;
- (id)propertyGroups;
- (BOOL)isCardPartiallyFilled;
- (BOOL)shouldShowRingtoneCellWhenEditing:(BOOL)fp8;
- (id)ringtoneManager;
- (void)setIsEditable:(BOOL)fp8 animated:(BOOL)fp12 withTable:(id)fp16;
- (BOOL)isEditable;
- (void)setHighlightedItemForProperty:(int)fp8 withIdentifier:(int)fp12 important:(BOOL)fp16;
- (BOOL)performDefaultActionForPerson:(struct CPRecord *)fp8 property:(int)fp12 identifier:(int)fp16;
- (void)setNameIsCustomized:(BOOL)fp8;
- (void)setTagLine:(id)fp8;
- (id)createDateMessageString;
- (void)setDates:(id)fp8 withMessageFormat:(id)fp12;
- (void)setTitleColor:(struct CGColor *)fp8;
- (void)setTitleIsImportant:(BOOL)fp8;
- (void)setTitle:(id)fp8 withMessage:(id)fp12;
- (BOOL)hasInlineActions;
- (BOOL)hasDeleteButton;
- (BOOL)hasMapActions;
- (int)firstPropertyGroupIndex;
- (int)phoneTableGroupIndex;
- (int)inlineActionsTableGroupIndex;
- (void)updateNameControlSizeWithTableSize:(struct CGSize)fp8 outHeight:(float *)fp16;
- (id)createNameCellWithTableSize:(struct CGSize)fp8;
- (id)createRecentDatesCellWithTableSize:(struct CGSize)fp8;
- (id)createValueCellForRow:(int)fp8 inGroup:(int)fp12 withTableSize:(struct CGSize)fp16;
- (id)createDeleteCellWithTableSize:(struct CGSize)fp8;
- (id)createAddPropertiesCellWithTableSize:(struct CGSize)fp8;
- (id)titleForNoValueWithProperty:(int)fp8;
- (id)createNoValueCellWithTableSize:(struct CGSize)fp8;
- (id)propertyGroupForProperty:(int)fp8;
- (void)performActionFromSender:(id)fp8 buttonClicked:(int)fp12;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)inlineActionButtonClicked:(id)fp8;
- (BOOL)isPhonePropertyDisplayed;
- (BOOL)shouldShowAddToFavoritesAction;
- (BOOL)shouldShowTextAction;
- (id)createActionCellWithFrame:(struct CGRect)fp8 font:(struct __GSFont *)fp24;
- (id)createActionCellWithFrame:(struct CGRect)fp8;
- (id)createActionButtonWithFrame:(struct CGRect)fp8 tag:(int)fp24 font:(struct __GSFont *)fp28;
- (id)createActionsCellWithTableSize:(struct CGSize)fp8;
- (id)createMapDirectionsTo:(BOOL)fp8 cellWithTableSize:(struct CGSize)fp12;
- (id)createMapAddToBookmarksCellWithTableSize:(struct CGSize)fp8;
- (void)reloadPhoneFavoritesInTable:(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;
- (BOOL)table:(id)fp8 canDeleteRow:(int)fp12;
- (void)performDeleteForCell:(id)fp8;
- (void)preferencesTable:(id)fp8 deleteRow:(int)fp12 inGroup:(int)fp16 outDeletionItemCopy:(id *)fp20;
- (BOOL)table:(id)fp8 canInsertAtRow:(int)fp12;
- (void)tableSelectionDidChange:(id)fp8;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (BOOL)table:(id)fp8 shouldIndentRow:(int)fp12;

@end

@interface ABCardTableCell : UIPreferencesTableCell
{
    UIImageView *_badgeView;
    ABCardTableController *_tableController;
    struct {
        unsigned int multiLine:1;
        unsigned int isFavorite:1;
        unsigned int isNameCell:1;
        unsigned int isAddItem:1;
        unsigned int noDeleteAnimation:1;
        unsigned int reserved:26;
    } _itemFlags;
}

- (id)initWithProperty:(int)fp8 cardTableController:(id)fp12;
- (void)dealloc;
- (struct CGRect)abValueLabelFrame;
- (id)valueTextLabel;
- (id)createRemoveControl;
- (void)setIsFavorite:(BOOL)fp8;
- (void)setIsNameCell:(BOOL)fp8;
- (void)setIsAddItem:(BOOL)fp8;
- (id)_badgeView;
- (void)_updateFavoritesBadge:(BOOL)fp8;
- (void)layoutSubviews;
- (void)setAnimatesOnDelete:(BOOL)fp8;
- (BOOL)removeControl:(id)fp8 shouldRemoveTarget:(id)fp12;
- (void)removeControl:(id)fp8 willRemoveTarget:(id)fp12;
- (void)removeControl:(id)fp8 didRemoveTarget:(id)fp12;

@end

@interface ABCardTableCell (SyntheticEvents)
- (id)_automationID;
- (id)_automationValue;
@end

@interface ABUnknownCardTableController : ABCardTableController
{
    struct {
        unsigned int preventAdd:1;
        unsigned int preventActions:1;
        unsigned int reserved:30;
    } _flags;
    NSString *_value;
    int _property;
    ABActionsController *_actionsController;
}

- (id)initWithCardController:(id)fp8;
- (void)dealloc;
- (void)setAllowAddingToAddressBook:(BOOL)fp8;
- (void)setAllowActions:(BOOL)fp8;
- (void)setUnknownCardStringValue:(id)fp8 forContactProperty:(int)fp12;
- (id)unknownCardStringValue;
- (int)unknownCardProperty;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (BOOL)shouldShowAddToExisting;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (void)tableSelectionDidChange:(id)fp8;

@end

@interface ABMultiLineTextLabel : UITextLabel
{
}

- (void)dealloc;
- (void)setFrame:(struct CGRect)fp8;
- (struct CGSize)textSizeForWidth:(float)fp8;
- (struct CGSize)textSize;
- (void)drawContentsInRect:(struct CGRect)fp8;

@end

@interface ABRingtoneTableController : NSObject
{
    id _delegate;
    NSMutableArray *_systemRingtoneIdentifiers;
    NSMutableArray *_customRingtoneIdentifiers;
    int _selectedRingtoneIndex;
    BOOL _showsNone;
    BOOL _showsDefault;
    NSString *_noneString;
    struct CPRecord *_person;
    ABRingtoneManager *_ringtoneManager;
    AVController *_avController;
    BOOL _startedInteruption;
    BOOL _customAVController;
}

- (id)init;
- (id)initWithAVController:(id)fp8;
- (void)dealloc;
- (void)addRingtonesInDirectory:(id)fp8 toArray:(id)fp12 fileExtension:(id)fp16;
- (int)compareRingtoneWithIdentifier:(id)fp8 toRingtoneWithIdentifier:(id)fp12;
- (int)tableGroupTypeAtIndex:(int)fp8;
- (id)identifierOfRingtoneAtIndex:(int)fp8 isCustomRingtone:(char *)fp12;
- (int)indexOfRingtoneWithIdentifier:(id)fp8;
- (int)indexOfRingtoneInGroup:(int)fp8 atRow:(int)fp12;
- (int)rowIndexForRingtoneAtIndex:(int)fp8 inTable:(id)fp12;
- (void)reloadRingtones;
- (void)setDelegate:(id)fp8;
- (void)setSelectedRingtoneIdentifier:(id)fp8;
- (id)selectedRingtoneIdentifier;
- (int)indexOfSelectedRingtone;
- (id)ringtoneManager;
- (void)setShowsDefault:(BOOL)fp8;
- (void)setShowsNone:(BOOL)fp8;
- (void)setNoneString:(id)fp8;
- (void)setPerson:(struct CPRecord *)fp8;
- (struct CPRecord *)person;
- (void)processNewRingtoneSelected:(id)fp8;
- (void)tableRowSelected:(id)fp8;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)copyCurrentPhoneRingtoneName;
- (id)copyCurrentPhoneRingtoneIdentifier;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (BOOL)preferencesTable:(id)fp8 isRadioGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 titleForGroup:(int)fp12;
- (void)setAVController:(id)fp8;
- (id)avController;
- (void)togglePlayWithRingtoneWithIdentifier:(id)fp8;
- (void)playRingtoneWithIdentifier:(id)fp8;
- (void)stopPlayingWithFadeOut:(BOOL)fp8;
- (void)stopPlaying;
- (void)finishedWithPicker;

@end

@interface ABCardPropertyPicker : UIView
{
    UIPreferencesTable *_table;
    struct __CFArray *_properties;
    id _delegate;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setProperties:(struct __CFArray *)fp8;
- (void)setDelegate:(id)fp8;
- (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;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;

@end

@interface ABMapsCardViewer : ABUnknownCardViewer
{
    id _mapsCardViewerDelegate;
}

+ (id)createCardTableControllerWithCardController:(id)fp8;
- (id)cardTableController;
- (void)setMapsCardViewerDelegate:(id)fp8;
- (void)setPersonImage:(id)fp8;
- (void)setValue:(id)fp8 withLabel:(id)fp12 forProperty:(int)fp16;
- (void)setShouldShowAddToBookmarks:(BOOL)fp8;
- (void)setShouldShowAddToBookmarksFirst:(BOOL)fp8;
- (void)setShouldShowRemovePin:(BOOL)fp8;
- (void)setAttributionString:(id)fp8;
- (void)addressClicked:(id)fp8;
- (void)addToBookmarksButtonClicked:(id)fp8;
- (void)removePinButtonClicked:(id)fp8;
- (void)directionsToButtonClicked:(id)fp8;
- (void)directionsFromButtonClicked:(id)fp8;
- (void)addNewContactButtonClicked:(id)fp8;
- (void)attributionStringClicked:(id)fp8;
- (BOOL)peoplePicker:(id)fp8 shouldShowCardForPerson:(struct CPRecord *)fp12;
- (void)addToExistingContactButtonClicked:(id)fp8;

@end

@interface ABCardViewer (ABCardViewerMapsExtensions)
- (void)setShowsMapActions:(BOOL)fp8;
@end

@interface ABMapsCardTableController : ABUnknownCardTableController
{
    NSMutableArray *_mapsPropertyGroups;
    BOOL _showAddToBookmarks;
    BOOL _showAddToBookmarksFirst;
    BOOL _showRemovePin;
    NSString *_attribution;
    BOOL _enableAttributionClicks;
}

- (id)initWithCardController:(id)fp8;
- (void)dealloc;
- (void)setPersonImage:(id)fp8;
- (void)setValue:(id)fp8 withLabel:(id)fp12 forProperty:(int)fp16;
- (void)setShouldShowAddToBookmarks:(BOOL)fp8;
- (void)setShouldShowAddToBookmarksFirst:(BOOL)fp8;
- (void)setShouldShowRemovePin:(BOOL)fp8;
- (id)propertyGroups;
- (void)setAttributionString:(id)fp8 enable:(BOOL)fp12;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (void)getFirstPropertyGroupIndex:(int *)fp8 directionsGroupIndex:(int *)fp12 addToBookmarksGroupIndex:(int *)fp16 addToAddressBookGroupIndex:(int *)fp20 removePinGroupIndex:(int *)fp24 attributionGroupIndex:(int *)fp28;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)createAttributionCellWithTableSize:(struct CGSize)fp8;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (void)tableSelectionDidChange:(id)fp8;

@end

@interface ABSimplePropertyGroup : ABPropertyGroup
{
    id _value;
    NSString *_label;
}

- (id)initWithProperty:(int)fp8 value:(id)fp12 label:(id)fp16;
- (void)dealloc;
- (int)property;
- (struct CPRecord *)record;
- (id)actionsControllerPreparedWithValueAtIndex:(int)fp8;
- (void)prepareActionsController:(id)fp8 withValueAtIndex:(int)fp12;
- (unsigned int)propertyCount;
- (BOOL)isMultiValueProperty;
- (id)copyStringValueAtIndex:(int)fp8;
- (id)copyLabelAtIndex:(int)fp8;
- (int)identifierAtIndex:(int)fp8;
- (int)indexOfIdentifier:(int)fp8;
- (void)deleteItemAtIndex:(int)fp8;

@end

@interface ABRingtoneManager : NSObject
{
    NSDictionary *_nameForIdentifier;
    NSDictionary *_pathForIdentifier;
    NSDictionary *_identifierForPath;
    NSDictionary *_additionalInformation;
    id _delegate;
    BOOL _showRingtones;
}

+ (id)iTunesRingtoneDirectory;
+ (id)systemRingtoneDirectory;
+ (id)userRingtoneDirectory;
+ (id)systemAlarmSoundDirectory;
+ (id)sharedRingtoneManager;
- (id)init;
- (id)initWithAlarmSoundPlistAtPath:(id)fp8;
- (id)initWithITunesRingtonePlistAtPath:(id)fp8;
- (void)dealloc;
- (BOOL)shouldShowRingtones;
- (BOOL)shouldShowAlarmSounds;
- (void)setDelegate:(id)fp8;
- (void)loadITunesInfoPlistAtPath:(id)fp8;
- (void)loadAlarmSoundPlistAtPath:(id)fp8;
- (void)iTunesSyncRequestedStart;
- (void)iTunesSyncHasCompleted:(int)fp8;
- (id)defaultRingtoneIdentifier;
- (id)defaultRingtoneName;
- (id)defaultRingtonePath;
- (id)localizedRingtoneNameWithIdentifier:(id)fp8;
- (id)pathFromIdentifier:(id)fp8 withPrefix:(id)fp12;
- (id)nameFromRingtonePath:(id)fp8;
- (id)copyNameOfRingtoneWithIdentifier:(id)fp8;
- (id)copyNameOfRingtoneWithIdentifier:(id)fp8 isValid:(char *)fp12;
- (id)copyPathOfRingtoneWithIdentifier:(id)fp8;
- (id)copyPathOfRingtoneWithIdentifier:(id)fp8 isValid:(char *)fp12;
- (id)copyIdentifierForRingtoneAtPath:(id)fp8 isValid:(char *)fp12;
- (id)createAVItemWithRingtoneIdentifier:(id)fp8;

@end

@interface ABVCardTableController : ABCardTableController
{
    int _groupCount;
    BOOL _showAddActions;
}

- (void)setShowsAddActions:(BOOL)fp8;
- (BOOL)hasAddActions;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (void)tableSelectionDidChange:(id)fp8;
- (BOOL)shouldShowRingtoneCellWhenEditing:(BOOL)fp8;

@end

@interface ABVCardViewer : ABCardViewer
{
    id _vCardViewerDelegate;
    BOOL _addedToAddressBook;
    struct __CFArray *_properties;
}

+ (void)mergeVCardRecord:(struct CPRecord *)fp8 properties:(struct __CFArray *)fp12 intoPerson:(struct CPRecord *)fp16;
+ (id)createCardTableControllerWithCardController:(id)fp8;
- (id)cardTableController;
- (void)setShowsAddActions:(BOOL)fp8;
- (void)setVCardViewerDelegate:(id)fp8;
- (void)presentPickerUI:(id)fp8;
- (void)dealloc;
- (void)setDisplayedPerson:(struct CPRecord *)fp8 withProperties:(struct __CFArray *)fp12;
- (void)addNewContactButtonClicked:(id)fp8;
- (void)addToExistingContactButtonClicked:(id)fp8;
- (void)didEndPickingUI:(id)fp8 didResolveToPerson:(struct CPRecord *)fp12 endSession:(BOOL)fp16;
- (void)peoplePickerDidEndPicking:(id)fp8;
- (void)peoplePicker:(id)fp8 displayedPerson:(struct CPRecord *)fp12;

@end

@interface NSMutableData (ABCMutableDataAdditions)
- (void)abAppendString:(id)fp8;
@end

@interface NSData (ABDataAdditions)
- (id)abStringAtRange:(struct _NSRange)fp8 inEncoding:(unsigned int)fp16;
- (BOOL)abIsUTF16EntourageVCard;
- (id)abDecodeBase64;
- (id)abEncodeBase64DataBreakLines:(BOOL)fp8 allowSlash:(BOOL)fp12 padChar:(BOOL)fp16;
- (id)abDecodedUTF7;
@end

@interface ABVCardLexer : NSObject
{
    NSMutableData *_data;
    char *_bytes;
    unsigned int _length;
    unsigned int _peakedPoint;
    unsigned int _cursor;
    BOOL _unicode;
    int _errorCount;
    NSArray *_activeTokenSets;
}

- (id)tokenName:(int)fp8;
- (id)initWithData:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (unsigned int)cursor;
- (int)errorCount;
- (id)tokenSetForLength:(int)fp8;
- (int)nextTokenPeakSingle:(BOOL)fp8 length:(int)fp12;
- (int)nextTokenPeakUnicode:(BOOL)fp8 length:(int)fp12;
- (int)nextTokenPeak:(BOOL)fp8;
- (id)nextQuotedPrintableData;
- (id)nextEscapedCharacter;
- (id)nextSingleByteStringInEncoding:(unsigned int)fp8 quotedPrintable:(BOOL)fp12 stopTokens:(int)fp16 trim:(BOOL)fp20;
- (id)nextUnicodeStringStopTokens:(int)fp8 quotedPrintable:(BOOL)fp12 trim:(BOOL)fp16;
- (id)nextStringInEncoding:(unsigned int)fp8 quotedPrintable:(BOOL)fp12 stopTokens:(int)fp16 trim:(BOOL)fp20;
- (int)tokenAtCursor;
- (id)nextArraySeperatedByToken:(int)fp8 stoppingAt:(int)fp12 inEncoding:(unsigned int)fp16;
- (id)nextUnicodeBase64Line:(char *)fp8;
- (id)nextSingleByteBase64Line:(char *)fp8;
- (id)nextBase64Line:(char *)fp8;
- (id)nextBase64Data;
- (void)advanceToPeakPoint;
- (int)advanceToUnicodeString;
- (int)advanceToSingleByteString;
- (int)advanceToString;
- (BOOL)advanceToToken:(int)fp8 throughTypes:(int)fp12;
- (BOOL)advanceToEOLUnicode;
- (BOOL)advanceToEOLSingle;
- (BOOL)advanceToEOL;
- (BOOL)advancePastEOLUnicode;
- (BOOL)advancePastEOLSingle;
- (BOOL)advancePastEOL;
- (BOOL)atEOF;

@end

@interface ABVCardPersonValueSetter : ABVCardValueSetter
{
    struct CPRecord *_person;
    struct __CFArray *_properties;
}

+ (struct __CFArray *)supportedProperties;
- (id)initWithPerson:(struct CPRecord *)fp8;
- (struct __CFArray *)foundProperties;
- (void)dealloc;
- (BOOL)setValue:(void *)fp8 forProperty:(unsigned short)fp12;
- (void *)valueForProperty:(unsigned short)fp8;
- (BOOL)setImageData:(id)fp8;
- (id)fullName;
- (void)setValueInTemporaryCache:(id)fp8 forProperty:(unsigned short)fp12;

@end

@interface ABVCardValueSetter : NSObject
{
}

- (BOOL)setValue:(void *)fp8 forProperty:(unsigned short)fp12;
- (void *)valueForProperty:(unsigned short)fp8;
- (BOOL)setImageData:(id)fp8;
- (id)fullName;
- (void)setValueInTemporaryCache:(void *)fp8 forProperty:(unsigned short)fp12;

@end

@interface ABVCardParameter : NSObject
{
    NSString *_name;
    NSString *_grouping;
    id _value;
    NSMutableArray *_types;
    BOOL _primary;
}

- (id)initWithName:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (void)setValue:(id)fp8;
- (void)addType:(id)fp8;
- (void)addTypes:(id)fp8;
- (id)types;
- (id)name;
- (void)setGrouping:(id)fp8;
- (id)grouping;
- (id)value;
- (BOOL)isPrimary;
- (void)setIsPrimary:(BOOL)fp8;
- (id)description;

@end

@interface ABVCardParser : NSObject
{
    ABVCardLexer *_lexer;
    NSData *_data;
    unsigned int _defaultEncoding;
    BOOL _hasImportErrors;
    ABVCardValueSetter *_valueSetter;
    BOOL _30vCard;
    NSString *_first;
    NSString *_last;
    NSString *_org;
    NSString *_formattedName;
    NSMutableArray *_emails;
    NSMutableArray *_dates;
    NSMutableArray *_phones;
    NSMutableArray *_addresses;
    NSMutableArray *_aims;
    NSMutableArray *_jabbers;
    NSMutableArray *_msns;
    NSMutableArray *_yahoos;
    NSMutableArray *_icqs;
    NSMutableArray *_relatedNames;
    NSMutableArray *_urls;
    NSMutableString *_notes;
    NSMutableString *_otherNotes;
    NSMutableDictionary *_extensions;
    NSString *_uid;
    NSData *_imageData;
    NSMutableArray *_itemParameters;
    NSString *_grouping;
    unsigned int _encoding;
    BOOL _quotedPrintable;
    BOOL _base64;
}

+ (struct __CFArray *)supportedProperties;
- (id)initWithData:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (BOOL)hasImportErrors;
- (void)cleanUpCardState;
- (void)addMultiValues:(id)fp8 toProperty:(unsigned short)fp12;
- (void)addAddressMultiValues;
- (BOOL)parseVERSION;
- (BOOL)parseN;
- (BOOL)parseNICKNAME;
- (BOOL)parseABMaiden;
- (BOOL)parseORG;
- (id)parseSingleValue;
- (id)parseURL;
- (id)genericLabel;
- (id)phoneLabel;
- (BOOL)parseABUID;
- (BOOL)parseEMAIL;
- (BOOL)parseTEL;
- (BOOL)parseADR;
- (BOOL)parseADD;
- (BOOL)parseABExtensionType:(id)fp8;
- (BOOL)addIMValueTo:(id)fp8;
- (id)dateFromISO8601String:(id)fp8;
- (BOOL)parseBDAY;
- (BOOL)parseABDATE;
- (void)parsePhoto:(id)fp8;
- (void)parseABPhoto;
- (void)parseABShowAs;
- (void)parseABOrder;
- (BOOL)parseABReleatedNames;
- (BOOL)parseItem;
- (BOOL)importToPerson:(struct CPRecord *)fp8 foundProperties:(const struct __CFArray **)fp12;
- (BOOL)importToValueSetter:(id)fp8;
- (struct CPRecord *)nextPersonWithLength:(int *)fp8 foundProperties:(const struct __CFArray **)fp12;
- (struct __CFArray *)peopleAndProperties:(const struct __CFArray **)fp8;
- (id)sortedPeopleAndProperties:(const struct __CFArray **)fp8;

@end

@interface ABCardViewController : UIViewController
{
    ABCardViewer *_cardViewer;
}

- (void)dealloc;
- (id)view;
- (id)cardViewer;
- (id)navigationTitle;

@end

@interface ABUnknownCardViewController : UIViewController
{
    ABUnknownCardViewer *_unknownCardViewer;
}

- (void)dealloc;
- (id)view;
- (id)unknownCardViewer;
- (id)navigationTitle;
- (void)viewDidDisplayWithAnimation:(BOOL)fp8;

@end

@interface ABPeoplePickerController : UINavigationController
{
    ABPeoplePicker *_peoplePicker;
}

- (void)dealloc;
- (id)peoplePicker;
- (id)view;

@end

@interface ABRecordMerger : NSObject
{
}

- (BOOL)mergeSingleValueProperty:(int)fp8 fromRecord:(struct CPRecord *)fp12 intoRecord:(struct CPRecord *)fp16;
- (void)addValue:(void *)fp8 withProperty:(int)fp12 toExistingValues:(struct __CFSet *)fp16;
- (BOOL)addMultiValueEntry:(struct ABCMultiValue *)fp8 atIndex:(unsigned int)fp12 toMultiValue:(struct ABCMultiValue *)fp16 withProperty:(int)fp20 existingValues:(struct __CFSet *)fp24;
- (BOOL)mergeMultiValueProperty:(int)fp8 fromRecord:(struct CPRecord *)fp12 intoRecord:(struct CPRecord *)fp16;
- (void)mergeVCardRecord:(struct CPRecord *)fp8 withProperties:(struct __CFArray *)fp12 intoRecord:(struct CPRecord *)fp16;

@end

