AddressBook.framework

@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)client;

@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;