import { IsEnabledResult, NfcStatusChangedEvent, StartScanSessionOptions, TagDetectedEvent, WriteOptions, ShareOptions, PluginListenerHandle } from "./definitions.js"; /** * Main NFC class that provides access to NFC functionality. * It automatically chooses the appropriate implementation for the current platform. */ export declare class Nfc { private implementation; private listeners; constructor(); /** * Internal method to monitor NFC status changes */ private monitorNfcStatus; /** * Check if NFC is enabled (Android) or available (iOS/Web). * @returns Promise resolving to an object with an `enabled` boolean property */ isEnabled(): Promise; /** * Open NFC settings (Android) or app settings (iOS) or shows guidance (Web). * This helps users enable NFC if it's disabled. */ openSettings(): Promise; /** * Start scanning for NFC tags. * @param options Configuration options for the scan session */ startScanSession(options?: StartScanSessionOptions): Promise; /** * Stop the current NFC scan session. */ stopScanSession(): Promise; /** * Write an NDEF message to an NFC tag. * @param options Object containing the NDEF message to write */ write(options: WriteOptions): Promise; /** * Make an NFC tag read-only. * WARNING: This is a permanent operation that cannot be undone. */ makeReadOnly(): Promise; /** * Format an NFC tag, erasing its contents and preparing it for writing. */ format(): Promise; /** * Erase the contents of an NFC tag. */ erase(): Promise; /** * Share NDEF data via NFC (Android only, not available on iOS or Web). * @param options Object containing the NDEF message to share */ share(options: ShareOptions): Promise; /** * Stop sharing NDEF data via NFC (Android only). */ stopSharing(): Promise; /** * Register an event listener. * @param eventName Name of the event to listen for * @param listenerFunc Callback function to invoke when the event occurs * @returns A handle that can be used to remove the listener */ addListener(eventName: "nfcStatusChanged", listenerFunc: (status: NfcStatusChangedEvent) => void): Promise; addListener(eventName: "tagDetected", listenerFunc: (tag: TagDetectedEvent) => void): Promise; /** * Remove all event listeners registered for this plugin. */ removeAllListeners(): Promise; /** * Internal method to notify listeners of events */ private notifyListeners; }