{
  "api": {
    "name": "CapacitorNfcPlugin",
    "slug": "capacitornfcplugin",
    "docs": "Public API surface for the Capacitor NFC plugin.\n\nThe interface intentionally mirrors the behaviour of the reference PhoneGap\nimplementation to ease migration while embracing idiomatic Capacitor APIs.",
    "tags": [],
    "methods": [
      {
        "name": "startScanning",
        "signature": "(options?: StartScanningOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "StartScanningOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Starts listening for NFC tags.",
        "complexTypes": [
          "StartScanningOptions"
        ],
        "slug": "startscanning"
      },
      {
        "name": "stopScanning",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Stops the ongoing NFC scanning session.",
        "complexTypes": [],
        "slug": "stopscanning"
      },
      {
        "name": "write",
        "signature": "(options: WriteTagOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "WriteTagOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Writes the provided NDEF records to the last discovered tag.",
        "complexTypes": [
          "WriteTagOptions"
        ],
        "slug": "write"
      },
      {
        "name": "erase",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Attempts to erase the last discovered tag by writing an empty NDEF message.",
        "complexTypes": [],
        "slug": "erase"
      },
      {
        "name": "makeReadOnly",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Attempts to make the last discovered tag read-only.",
        "complexTypes": [],
        "slug": "makereadonly"
      },
      {
        "name": "share",
        "signature": "(options: ShareTagOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "ShareTagOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Shares an NDEF message with another device via peer-to-peer (Android only).",
        "complexTypes": [
          "ShareTagOptions"
        ],
        "slug": "share"
      },
      {
        "name": "unshare",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Stops sharing previously provided NDEF message (Android only).",
        "complexTypes": [],
        "slug": "unshare"
      },
      {
        "name": "getStatus",
        "signature": "() => Promise<{ status: NfcStatus; }>",
        "parameters": [],
        "returns": "Promise<{ status: NfcStatus; }>",
        "tags": [],
        "docs": "Returns the current NFC adapter status.",
        "complexTypes": [
          "NfcStatus"
        ],
        "slug": "getstatus"
      },
      {
        "name": "showSettings",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Opens the system settings page where the user can enable NFC.",
        "complexTypes": [],
        "slug": "showsettings"
      },
      {
        "name": "getPluginVersion",
        "signature": "() => Promise<{ version: string; }>",
        "parameters": [],
        "returns": "Promise<{ version: string; }>",
        "tags": [],
        "docs": "Returns the version string baked into the native plugin.",
        "complexTypes": [],
        "slug": "getpluginversion"
      },
      {
        "name": "isSupported",
        "signature": "() => Promise<{ supported: boolean; }>",
        "parameters": [],
        "returns": "Promise<{ supported: boolean; }>",
        "tags": [],
        "docs": "Checks whether the device has NFC hardware support.\n\nReturns `true` if NFC hardware is present on the device, regardless of\nwhether NFC is currently enabled or disabled. Returns `false` if the\ndevice does not have NFC hardware.\n\nUse this method to determine if NFC features should be shown in your\napp's UI. To check if NFC is currently enabled, use `getStatus()`.",
        "complexTypes": [],
        "slug": "issupported"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'nfcEvent', listenerFunc: (event: NfcEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'nfcEvent'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(event: NfcEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "PluginListenerHandle",
          "NfcEvent"
        ],
        "slug": "addlistenernfcevent-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'tagDiscovered' | 'ndefDiscovered' | 'ndefMimeDiscovered' | 'ndefFormatableDiscovered', listenerFunc: (event: NfcEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'tagDiscovered' | 'ndefDiscovered' | 'ndefMimeDiscovered' | 'ndefFormatableDiscovered'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(event: NfcEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "PluginListenerHandle",
          "NfcEvent"
        ],
        "slug": "addlistenertagdiscovered--ndefdiscovered--ndefmimediscovered--ndefformatablediscovered-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'nfcStateChange', listenerFunc: (event: NfcStateChangeEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'nfcStateChange'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(event: NfcStateChangeEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "PluginListenerHandle",
          "NfcStateChangeEvent"
        ],
        "slug": "addlistenernfcstatechange-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'nfcSessionEnd', listenerFunc: (event: NfcSessionEndEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'nfcSessionEnd'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(event: NfcSessionEndEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "PluginListenerHandle",
          "NfcSessionEndEvent"
        ],
        "slug": "addlistenernfcsessionend-"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "StartScanningOptions",
      "slug": "startscanningoptions",
      "docs": "Options controlling the behaviour of {@link CapacitorNfcPlugin.startScanning}.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "invalidateAfterFirstRead",
          "tags": [],
          "docs": "iOS-only: closes the NFC session automatically after the first successful tag read.\nDefaults to `true`.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "alertMessage",
          "tags": [],
          "docs": "iOS-only: custom message displayed in the NFC system sheet while scanning.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "iosSessionType",
          "tags": [],
          "docs": "iOS-only: session type to use for NFC scanning.\n- `'ndef'`: Uses NFCNDEFReaderSession (default). Only detects NDEF-formatted tags.\n- `'tag'`: Uses NFCTagReaderSession. Detects both NDEF and non-NDEF tags (e.g., raw MIFARE tags).\n           Allows reading UID from unformatted tags.\n           **Requires** the `Near Field Communication Tag Reader Session Formats` entitlement\n           in your app with the `TAG` format included. Without it the session will fail to\n           start and the promise will reject with a `NO_NFC` error code.\nDefaults to `'ndef'` for backward compatibility.",
          "complexTypes": [],
          "type": "'tag' | 'ndef' | undefined"
        },
        {
          "name": "iosPollingOptions",
          "tags": [],
          "docs": "iOS-only: polling options to use for NFC scanning.\nDefaults to `['iso14443', 'iso15693']`. Apps that scan FeliCa tags can opt in\nto `'iso18092'` after configuring the required FeliCa entitlement and system codes.",
          "complexTypes": [
            "NfcIosPollingOption"
          ],
          "type": "NfcIosPollingOption[] | undefined"
        },
        {
          "name": "androidReaderModeFlags",
          "tags": [],
          "docs": "Android-only: raw flags passed to `NfcAdapter.enableReaderMode`.\nDefaults to enabling all tag types and Android's NDEF discovery so that\ndetected tags remain available for writing and formatting.",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "WriteTagOptions",
      "slug": "writetagoptions",
      "docs": "Options used when writing an NDEF message on the current tag.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "records",
          "tags": [],
          "docs": "Array of records that compose the NDEF message to be written.",
          "complexTypes": [
            "NdefRecord"
          ],
          "type": "NdefRecord[]"
        },
        {
          "name": "allowFormat",
          "tags": [],
          "docs": "When `true`, the plugin attempts to format NDEF-formattable tags before writing.\nDefaults to `true`.",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "NdefRecord",
      "slug": "ndefrecord",
      "docs": "JSON structure representing a single NDEF record.\n\nMirrors the data format returned by the legacy Cordova implementation and\nuses integer arrays instead of strings to preserve the original payload\nbytes.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "tnf",
          "tags": [],
          "docs": "Type Name Format identifier.",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "type",
          "tags": [],
          "docs": "Type field expressed as an array of byte values.",
          "complexTypes": [],
          "type": "number[]"
        },
        {
          "name": "id",
          "tags": [],
          "docs": "Record identifier expressed as an array of byte values.",
          "complexTypes": [],
          "type": "number[]"
        },
        {
          "name": "payload",
          "tags": [],
          "docs": "Raw payload expressed as an array of byte values.",
          "complexTypes": [],
          "type": "number[]"
        }
      ]
    },
    {
      "name": "ShareTagOptions",
      "slug": "sharetagoptions",
      "docs": "Options used when sharing an NDEF message with another device using Android Beam / P2P mode.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "records",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "NdefRecord"
          ],
          "type": "NdefRecord[]"
        }
      ]
    },
    {
      "name": "PluginListenerHandle",
      "slug": "pluginlistenerhandle",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "remove",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "() => Promise<void>"
        }
      ]
    },
    {
      "name": "NfcEvent",
      "slug": "nfcevent",
      "docs": "Generic NFC discovery event dispatched by the plugin.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "NfcEventType"
          ],
          "type": "NfcEventType"
        },
        {
          "name": "tag",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "NfcTag"
          ],
          "type": "NfcTag"
        }
      ]
    },
    {
      "name": "NfcTag",
      "slug": "nfctag",
      "docs": "Representation of the full tag information returned by the native layers.\n\nSupports standard NFC Forum tags as well as MIFARE Ultralight cards (including\nEV1 and NTAG variants). NDEF data is automatically extracted from MIFARE Ultralight\ntags when available.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [],
          "docs": "Raw identifier bytes for the tag.",
          "complexTypes": [],
          "type": "number[] | undefined"
        },
        {
          "name": "techTypes",
          "tags": [],
          "docs": "List of Android tech strings (e.g. `android.nfc.tech.Ndef`).",
          "complexTypes": [],
          "type": "string[] | undefined"
        },
        {
          "name": "type",
          "tags": [],
          "docs": "Human readable tag type when available (e.g. `NFC Forum Type 2`, `MIFARE Ultralight`).",
          "complexTypes": [],
          "type": "string | null | undefined"
        },
        {
          "name": "maxSize",
          "tags": [],
          "docs": "Maximum writable size in bytes for tags that expose NDEF information.",
          "complexTypes": [],
          "type": "number | null | undefined"
        },
        {
          "name": "isWritable",
          "tags": [],
          "docs": "Indicates whether the tag can be written to.",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "canMakeReadOnly",
          "tags": [],
          "docs": "Indicates whether the tag can be permanently locked.",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "ndefMessage",
          "tags": [],
          "docs": "Array of NDEF records discovered on the tag.",
          "complexTypes": [
            "NdefRecord"
          ],
          "type": "NdefRecord[] | null | undefined"
        }
      ]
    },
    {
      "name": "NfcStateChangeEvent",
      "slug": "nfcstatechangeevent",
      "docs": "Event emitted whenever the NFC adapter availability changes.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "status",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "NfcStatus"
          ],
          "type": "NfcStatus"
        },
        {
          "name": "enabled",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "NfcSessionEndEvent",
      "slug": "nfcsessionendevent",
      "docs": "Event emitted when an iOS NFC reader session ends.\n\nThis event is not emitted when a session closes normally after its first successful read.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "reason",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'userCancelled' | 'sessionTimeout' | 'invalidated'"
        }
      ]
    }
  ],
  "enums": [],
  "typeAliases": [
    {
      "name": "NfcIosPollingOption",
      "slug": "nfciospollingoption",
      "docs": "iOS-specific polling options for NFC scanning sessions.\nThese options determine the type of tags that a reader session\nshould detect during a polling sequence.\n\n- 'iso14443': Polls for ISO 14443 tags\n- 'iso15693': Polls for ISO 15693 tags\n- 'iso18092': Polls for ISO 18092 tags\n- 'pace': Polls for PACE tags (available on iOS 16 and later)",
      "types": [
        {
          "text": "'iso14443'",
          "complexTypes": []
        },
        {
          "text": "'iso15693'",
          "complexTypes": []
        },
        {
          "text": "'iso18092'",
          "complexTypes": []
        },
        {
          "text": "'pace'",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "NfcStatus",
      "slug": "nfcstatus",
      "docs": "Possible NFC adapter states returned by {@link CapacitorNfcPlugin.getStatus}.\n\nMatches the constants provided by the original PhoneGap NFC plugin for\ncompatibility with existing applications.",
      "types": [
        {
          "text": "'NFC_OK'",
          "complexTypes": []
        },
        {
          "text": "'NO_NFC'",
          "complexTypes": []
        },
        {
          "text": "'NFC_DISABLED'",
          "complexTypes": []
        },
        {
          "text": "'NDEF_PUSH_DISABLED'",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "NfcEventType",
      "slug": "nfceventtype",
      "docs": "Event type describing the kind of NFC discovery that happened.\n\n- `tag`: A generic NFC tag (no NDEF payload).\n- `ndef`: A tag exposing an NDEF payload.\n- `ndef-mime`: An NDEF tag that matched one of the MIME type filters.\n- `ndef-formatable`: A tag that can be formatted to NDEF.",
      "types": [
        {
          "text": "'tag'",
          "complexTypes": []
        },
        {
          "text": "'ndef'",
          "complexTypes": []
        },
        {
          "text": "'ndef-mime'",
          "complexTypes": []
        },
        {
          "text": "'ndef-formatable'",
          "complexTypes": []
        }
      ]
    }
  ],
  "pluginConfigs": []
}