
#import <AddressBook/ABRecord.h>
#import <AddressBook/ABTypedefs.h>

@class ABSearchElement;

@interface ABPerson : ABRecord

@end

@interface ABPerson (ABPerson_Properties)

@end

@interface ABPerson (ABPerson_Searching)

/*searchElementForProperty:label:key:value:comparison:

+ (ABSearchElement *)searchElementForProperty:(NSString *)property label:(NSString *)label key:(NSString *)key value:(id)value comparison:(ABSearchComparison)comparison
Discussion

Returns a search element object that specifies a query for records of this type.
property is the name of the property to search on, such as kABAddressProperty or kABLastNameProperty. It cannot be nil. For a full list of the properties, see “Constants” and “Constants” in ABRecord.
label is the label name for a multi-value list, such as kABAddressHomeLabel, kABPhoneWorkLabel, or a user-specified label, such as "Summer Home". If the specified property does not have multiple values, pass nil. If the specified property does have multiple values, pass nil to search all the values. For a full list of label names, see “Constants”. 
key is the key name for a dictionary, such as kABAddressCityKey or kABAddressStreetKey. If the specified property is not a dictionary, pass nil. If the specified property is a dictionary, pass nil to search all keys. For a full list of key names, see “Constants”
value is what you’re searching for. It can be nil.
comparison specifies the type of comparison to perform and is an ABSearchComparison, such as kABEqual or kABPrefixMatchCaseInsensitive.
Availability
Available in Mac OS X v10.2 and later.
See Also
+ searchElementForProperty:label:key:value:comparison: (ABGroup)
+ searchElementForConjunction:children: (ABSearchElement)
– recordsMatchingSearchElement: (ABAddressBook)*/
+ (ABSearchElement *)searchElementForProperty:(NSString *)property label:(NSString *)label key:(NSString *)key value:(id)value comparison:(ABSearchComparison)comparison;

@end

@interface ABPerson (ABPerson_vCard)
@end
