/**@class android.provider.ContactsContract
@extends java.lang.Object

 <p>
 The contract between the contacts provider and applications. Contains
 definitions for the supported URIs and columns. These APIs supersede
 {@link android.provider.Contacts}.
 </p>
 <h3>Overview</h3>
 <p>
 ContactsContract defines an extensible database of contact-related
 information. Contact information is stored in a three-tier data model:
 </p>
 <ul>
 <li>
 A row in the {@link android.provider.ContactsContract.Data} table can store any kind of personal data, such
 as a phone number or email addresses.  The set of data kinds that can be
 stored in this table is open-ended. There is a predefined set of common
 kinds, but any application can add its own data kinds.
 </li>
 <li>
 A row in the {@link android.provider.ContactsContract.RawContacts} table represents a set of data describing a
 person and associated with a single account (for example, one of the user's
 Gmail accounts).
 </li>
 <li>
 A row in the {@link android.provider.Contacts} table represents an aggregate of one or more
 RawContacts presumably describing the same person.  When data in or associated with
 the RawContacts table is changed, the affected aggregate contacts are updated as
 necessary.
 </li>
 </ul>
 <p>
 Other tables include:
 </p>
 <ul>
 <li>
 {@link android.provider.Contacts.Groups}, which contains information about raw contact groups
 such as Gmail contact groups.  The
 current API does not support the notion of groups spanning multiple accounts.
 </li>
 <li>
 {@link android.provider.VoicemailContract.StatusUpdates}, which contains social status updates including IM
 availability.
 </li>
 <li>
 {@link android.provider.ContactsContract.AggregationExceptions}, which is used for manual aggregation and
 disaggregation of raw contacts
 </li>
 <li>
 {@link android.provider.BrowserContract.Settings}, which contains visibility and sync settings for accounts
 and groups.
 </li>
 <li>
 {@link android.provider.BrowserContract.SyncState}, which contains free-form data maintained on behalf of sync
 adapters
 </li>
 <li>
 {@link android.provider.ContactsContract.PhoneLookup}, which is used for quick caller-ID lookup</li>
 </ul>
*/
var ContactsContract = {

/**The authority for the contacts provider */
AUTHORITY : "com.android.contacts",
/**A content:// style uri to the authority for the contacts provider */
AUTHORITY_URI : "null",
/** Prefix for column names that are not visible to client apps.
 @hide
*/
HIDDEN_COLUMN_PREFIX : "x_",
/** An optional URI parameter for insert, update, or delete queries
 that allows the caller
 to specify that it is a sync adapter. The default value is false. If true
 {@link android.provider.ContactsContract.RawContacts#DIRTY} is not automatically set and the
 "syncToNetwork" parameter is set to false when calling
 {@link ContentResolver#notifyChange(android.net.Uri, android.database.ContentObserver, boolean)}.
 This prevents an unnecessary extra synchronization, see the discussion of
 the delete operation in {@link android.provider.ContactsContract.RawContacts}.
*/
CALLER_IS_SYNCADAPTER : "caller_is_syncadapter",
/** Query parameter that should be used by the client to access a specific
 {@link android.provider.ContactsContract.Directory}. The parameter value should be the _ID of the corresponding
 directory, e.g.
 {@code content://com.android.contacts/data/emails/filter/acme?directory=3}
*/
DIRECTORY_PARAM_KEY : "directory",
/** A query parameter that limits the number of results returned for supported URIs. The
 parameter value should be an integer.

 <p>This parameter is not supported by all URIs.  Supported URIs include, but not limited to,
 {@link android.provider.Contacts#CONTENT_URI},
 {@link android.provider.ContactsContract.RawContacts#CONTENT_URI},
 {@link android.provider.ContactsContract.Data#CONTENT_URI},
 {@link android.provider.ContactsContract.CommonDataKinds.Phone#CONTENT_URI},
 {@link android.provider.ContactsContract.CommonDataKinds.Callable#CONTENT_URI},
 {@link android.provider.ContactsContract.CommonDataKinds.Email#CONTENT_URI},
 {@link android.provider.ContactsContract.CommonDataKinds.Contactables#CONTENT_URI},

 <p>In order to limit the number of rows returned by a non-supported URI, you can implement a
 {@link CursorWrapper} and override the {@link CursorWrapper#getCount()} methods.
*/
LIMIT_PARAM_KEY : "limit",
/** A query parameter specifing a primary account. This parameter should be used with
 {@link #PRIMARY_ACCOUNT_TYPE}. The contacts provider handling a query may rely on
 this information to optimize its query results.

 For example, in an email composition screen, its implementation can specify an account when
 obtaining possible recipients, letting the provider know which account is selected during
 the composition. The provider may use the "primary account" information to optimize
 the search result.
*/
PRIMARY_ACCOUNT_NAME : "name_for_primary_account",
/** A query parameter specifing a primary account. This parameter should be used with
 {@link #PRIMARY_ACCOUNT_NAME}. See the doc in {@link #PRIMARY_ACCOUNT_NAME}.
*/
PRIMARY_ACCOUNT_TYPE : "type_for_primary_account",
/** A boolean parameter for {@link android.provider.Contacts#CONTENT_STREQUENT_URI} and
 {@link android.provider.Contacts#CONTENT_STREQUENT_FILTER_URI}, which requires the ContactsProvider to
 return only phone-related results.
*/
STREQUENT_PHONE_ONLY : "strequent_phone_only",
/** A key to a boolean in the "extras" bundle of the cursor.
 The boolean indicates that the provider did not create a snippet and that the client asking
 for the snippet should do it (true means the snippeting was deferred to the client).

 @see SearchSnippets
*/
DEFERRED_SNIPPETING : "deferred_snippeting",
/** Key to retrieve the original deferred snippeting from the cursor on the client side.

 @see SearchSnippets
 @see #DEFERRED_SNIPPETING
*/
DEFERRED_SNIPPETING_QUERY : "deferred_snippeting_query",
/** A boolean parameter for {@link android.provider.ContactsContract.CommonDataKinds.android.provider.CommonDataKinds.Phone#CONTENT_URI android.provider.CommonDataKinds.Phone.CONTENT_URI},
 {@link android.provider.ContactsContract.CommonDataKinds.android.provider.android.provider.ContactsContract.CommonDataKinds.Email#CONTENT_URI android.provider.android.provider.ContactsContract.CommonDataKinds.Email.CONTENT_URI}, and
 {@link android.provider.ContactsContract.CommonDataKinds.android.provider.CommonDataKinds.StructuredPostal#CONTENT_URI android.provider.CommonDataKinds.StructuredPostal.CONTENT_URI}.
 This enables a content provider to remove duplicate entries in results.
*/
REMOVE_DUPLICATE_ENTRIES : "remove_duplicate_entries",
/**This method can be used to identify whether the given ID is associated with profile
 data.  It does not necessarily indicate that the ID is tied to valid data, merely
 that accessing data using this ID will result in profile access checks and will only
 return data from the profile.
@param {Number} id The ID to check.
@return {Boolean} Whether the ID is associated with profile data.
*/
isProfileId : function(  ) {},


};