@interface NSObject (ABActionDelegate)
// Instance Members
- (BOOL)shouldEnableActionForPerson:(ABPerson*)person identifier:(NSString*)identifier;
- (NSString*)actionProperty;
- (NSString*)titleForPerson:(ABPerson*)person identifier:(NSString*)identifier;
- (void)performActionForPerson:(ABPerson*)person identifier:(NSString*)identifier;
@interface ABAddressBook : NSObject
// Class Members
+ (ABAddressBook*)addressBook;
+ (ABAddressBook*)sharedAddressBook;
// Instance Members
- (ABPerson*)me;
- (ABRecord*)recordForUniqueId:(NSString*)uniqueId;
- (BOOL)addRecord:(ABRecord*)record;
- (BOOL)hasUnsavedChanges;
- (BOOL)removeRecord:(ABRecord*)record;
- (BOOL)save;
- (BOOL)saveAndReturnError:(NSError**)error;
- (NSArray*)groups;
- (NSArray*)people;
- (NSArray*)recordsMatchingSearchElement:(ABSearchElement*)search;
- (NSAttributedString*)formattedAddressFromDictionary:(NSDictionary*)address;
- (NSInteger)defaultNameOrdering;
- (NSString*)defaultCountryCode;
- (NSString*)recordClassFromUniqueId:(NSString*)uniqueId;
- (void)setMe:(ABPerson*)moi;
@interface ABGroup : ABRecord
// Instance Members
- (BOOL)addMember:(ABPerson*)person;
- (BOOL)addSubgroup:(ABGroup*)group;
- (BOOL)removeMember:(ABPerson*)person;
- (BOOL)removeSubgroup:(ABGroup*)group;
- (BOOL)setDistributionIdentifier:(NSString*)identifier forProperty:(NSString*)property person:(ABPerson*)person;
- (NSArray*)members;
- (NSArray*)parentGroups;
- (NSArray*)subgroups;
- (NSString*)distributionIdentifierForProperty:(NSString*)property person:(ABPerson*)person;
@interface ABGroup (ABGroup_Properties)
// Class Members
+ (ABPropertyType)typeOfProperty:(NSString*)property;
+ (NSArray*)properties;
+ (NSInteger)addPropertiesAndTypes:(NSDictionary*)properties;
+ (NSInteger)removeProperties:(NSArray*)properties;
@interface ABGroup (ABGroup_Searching)
// Class Members
+ (ABSearchElement*)searchElementForProperty:(NSString*)property :() :() :() :() :() :() :() :() :() :() :() :() :() label:(NSString*)label
:() :() :() :() :() :() :() :() :() :() :() :() :() :()key: NSString*:(key
) :() :() :() :() :() :() :() :() :() :() :() :() :()value: id:(value
) :() :() :() :() :() :() :() :() :() :() :() comparison:(ABSearchComparison)comparison;
@interface ABPerson (ABPersonImageAdditions)
// Class Members
+ (void)cancelLoadingImageDataForTag:(NSInteger)tag;
// Instance Members
- (BOOL)setImageData:(NSData*)data;
- (NSData*)imageData;
- (NSInteger)beginLoadingImageDataForClient:(id
@interface ABMultiValue : NSObject
// Instance Members
- (ABPropertyType)propertyType;
- (NSString*)identifierAtIndex:(NSUInteger)index;
- (NSString*)labelAtIndex:(NSUInteger)index;
- (NSString*)primaryIdentifier;
- (NSUInteger)count;
- (NSUInteger)indexForIdentifier:(NSString*)identifier;
- (id)labelForIdentifier:(NSString*)identifier;
- (id)valueAtIndex:(NSUInteger)index;
- (id)valueForIdentifier:(NSString*)identifier;
@interface ABMutableMultiValue : ABMultiValue
// Instance Members
- (BOOL)removeValueAndLabelAtIndex:(NSUInteger)index;
- (BOOL)replaceLabelAtIndex:(NSUInteger)index withLabel:(NSString*)label;
- (BOOL)replaceValueAtIndex:(NSUInteger)index withValue:(id)value;
- (BOOL)setPrimaryIdentifier:(NSString*)identifier;
- (NSString*)addValue:(id)value withLabel:(NSString*)label;
- (NSString*)insertValue:(id)value withLabel:(NSString*)label atIndex:(NSUInteger)index;
@interface ABPeoplePickerView : NSView
// Instance Members
- (ABPeoplePickerSelectionBehavior)valueSelectionBehavior;
- (BOOL)allowsGroupSelection;
- (BOOL)allowsMultipleSelection;
- (NSArray*)properties;
- (NSArray*)selectedGroups;
- (NSArray*)selectedIdentifiersForPerson:(ABPerson*)person;
- (NSArray*)selectedRecords;
- (NSString*)autosaveName;
- (NSString*)columnTitleForProperty:(NSString*)property;
- (NSString*)displayedProperty;
- (NSView*)accessoryView;
- (SEL)groupDoubleAction;
- (SEL)nameDoubleAction;
- (id)target;
- (void)addProperty:(NSString*)property;
- (void)clearSearchField:(id)sender;
- (void)deselectAll:(id)sender;
- (void)deselectGroup:(ABGroup*)group;
- (void)deselectIdentifier:(NSString*)identifier forPerson:(ABPerson*)person;
- (void)deselectRecord:(ABRecord*)record;
- (void)removeProperty:(NSString*)property;
- (void)selectGroup:(ABGroup*)group byExtendingSelection:(BOOL)extend;
- (void)selectIdentifier:(NSString*)identifier forPerson:(ABPerson*)person byExtendingSelection:(BOOL)extend;
- (void)selectRecord:(ABRecord*)record byExtendingSelection:(BOOL)extend;
- (void)setAccessoryView:(NSView*)accessory;
- (void)setAllowsGroupSelection:(BOOL)flag;
- (void)setAllowsMultipleSelection:(BOOL)flag;
- (void)setAutosaveName:(NSString*)name;
- (void)setColumnTitle:(NSString*)title forProperty:(NSString*)property;
- (void)setDisplayedProperty:(NSString*)property;
- (void)setGroupDoubleAction:(SEL)action;
- (void)setNameDoubleAction:(SEL)action;
- (void)setTarget:(id)target;
- (void)setValueSelectionBehavior:(ABPeoplePickerSelectionBehavior)behavior;
@interface ABPeoplePickerView (ABPeoplePickerConvenience)
// Instance Members
- (NSArray*)selectedValues;
- (void)editInAddressBook:(id)sender;
- (void)selectInAddressBook:(id)sender;
@interface ABPerson : ABRecord
// Instance Members
- (NSArray*)parentGroups;
@interface ABPerson (ABPerson_Properties)
// Class Members
+ (ABPropertyType)typeOfProperty:(NSString*)property;
+ (NSArray*)properties;
+ (NSInteger)addPropertiesAndTypes:(NSDictionary*)properties;
+ (NSInteger)removeProperties:(NSArray*)properties;
@interface ABPerson (ABPerson_Searching)
// Class Members
+ (ABSearchElement*)searchElementForProperty:(NSString*)property :() :() :() :() :() :() :() :() :() :() :() :() :() label:(NSString*)label
:() :() :() :() :() :() :() :() :() :() :() :() :() :()key: NSString*:(key
) :() :() :() :() :() :() :() :() :() :() :() :() :()value: id:(value
) :() :() :() :() :() :() :() :() :() :() :() comparison:(ABSearchComparison)comparison;
@interface ABPerson (ABPerson_vCard)
// Instance Members
- (NSData*)vCardRepresentation;
- (id)initWithVCardRepresentation:(NSData*)vCardData;
@interface ABRecord : NSObject
// Instance Members
- (BOOL)isReadOnly;
- (BOOL)removeValueForProperty:(NSString*)property;
- (BOOL)setValue:(id)value forProperty:(NSString*)property;
- (id)init;
- (id)initWithAddressBook:(ABAddressBook*)addressBook;
- (id)valueForProperty:(NSString*)property;
@interface ABRecord (ABRecord_Convenience)
// Instance Members
- (NSString*)uniqueId;
@interface ABSearchElement : NSObject
// Class Members
+ (ABSearchElement*)searchElementForConjunction:(ABSearchConjunction)conjuction children:(NSArray*)children;
// Instance Members
- (BOOL)matchesRecord:(ABRecord*)record;