/**@class android.nfc.tech.NfcA
@extends android.nfc.tech.BasicTagTechnology

 Provides access to NFC-A (ISO 14443-3A) properties and I/O operations on a {@link Tag}.

 <p>Acquire a {@link android.nfc.tech.NfcA} object using {@link #get}.
 <p>The primary NFC-A I/O operation is {@link #transceive}. Applications must
 implement their own protocol stack on top of {@link #transceive}.

 <p class="note"><strong>Note:</strong> Methods that perform I/O operations
 require the {@link android.Manifest.permission#NFC} permission.
*/
var NfcA = {

/**@hide */
EXTRA_SAK : "sak",
/**@hide */
EXTRA_ATQA : "atqa",
/**Get an instance of {@link android.nfc.tech.NfcA} for the given tag.
 <p>Returns null if {@link android.nfc.tech.NfcA} was not enumerated in {@link Tag#getTechList}.
 This indicates the tag does not support NFC-A.
 <p>Does not cause any RF activity and does not block.
@param {Object {Tag}} tag an NFC-A compatible tag
@return {Object {android.nfc.tech.NfcA}} NFC-A object
*/
get : function(  ) {},

/**Return the ATQA/SENS_RES bytes from tag discovery.

 <p>Does not cause any RF activity and does not block.
@return {Number} ATQA/SENS_RES bytes
*/
getAtqa : function(  ) {},

/**Return the SAK/SEL_RES bytes from tag discovery.

 <p>Does not cause any RF activity and does not block.
@return {Number} SAK bytes
*/
getSak : function(  ) {},

/**Send raw NFC-A commands to the tag and receive the response.

 <p>Applications must not append the EoD (CRC) to the payload,
 it will be automatically calculated.
 <p>Applications must only send commands that are complete bytes,
 for example a SENS_REQ is not possible (these are used to
 manage tag polling and initialization).

 <p>Use {@link #getMaxTransceiveLength} to retrieve the maximum number of bytes
 that can be sent with {@link #transceive}.

 <p>This is an I/O operation and will block until complete. It must
 not be called from the main application thread. A blocked call will be canceled with
 {@link IOException} if {@link #close} is called from another thread.

 <p class="note">Requires the {@link android.Manifest.permission#NFC} permission.
@param {Object {byte[]}} data bytes to send
@return {Number} bytes received in response
@throws TagLostException if the tag leaves the field
@throws IOException if there is an I/O failure, or this operation is canceled
*/
transceive : function(  ) {},

/**Return the maximum number of bytes that can be sent with {@link #transceive}.
@return {Number} the maximum number of bytes that can be sent with {@link #transceive}.
*/
getMaxTransceiveLength : function(  ) {},

/**Set the {@link #transceive} timeout in milliseconds.

 <p>The timeout only applies to {@link #transceive} on this object,
 and is reset to a default value when {@link #close} is called.

 <p>Setting a longer timeout may be useful when performing
 transactions that require a long processing time on the tag
 such as key generation.

 <p class="note">Requires the {@link android.Manifest.permission#NFC} permission.
@param {Number} timeout timeout value in milliseconds
*/
setTimeout : function(  ) {},

/**Get the current {@link #transceive} timeout in milliseconds.

 <p class="note">Requires the {@link android.Manifest.permission#NFC} permission.
@return {Number} timeout value in milliseconds
*/
getTimeout : function(  ) {},


};