import { registerPlugin } from '@capacitor/core' import type { PluginListenerHandle } from '@capacitor/core' export interface CopyProgressEvent { filename: string bytes: number total: number } export interface TiptoiPlugin { /** Öffnet Android-Verzeichnis-Picker (SAF) und persistiert die Berechtigung */ requestPenAccess(): Promise<{ uri: string }> /** Gibt die zuletzt gespeicherte SAF-URI zurück */ getPenUri(): Promise<{ uri: string | null }> /** Listet .gme-Dateien im gewählten Stift-Verzeichnis */ listPenFiles(options: { uri: string }): Promise<{ files: string[] }> /** Kopiert eine Datei aus dem App-Cache auf den Stift */ copyToPen(options: { uri: string; filename: string }): Promise /** Listet heruntergeladene GME-Dateien im App-Cache */ listDownloads(): Promise<{ books: Array<{ filename: string; coverPath: string | null; size: number }> }> /** Lädt eine GME-Datei von URL in den App-Cache */ downloadGme(options: { url: string; filename: string }): Promise<{ filename: string }> /** Lädt ein Cover-Bild in den App-Cache (Fehler werden ignoriert) */ downloadCover(options: { url: string; filename: string }): Promise /** Löscht eine heruntergeladene GME-Datei (inkl. Cover) aus dem App-Cache */ deleteDownload(options: { filename: string }): Promise /** Löscht eine GME-Datei vom Stift */ deletePenFile(options: { uri: string; filename: string }): Promise /** Fortschritts-Events beim Kopieren auf den Stift */ addListener(event: 'copyProgress', listener: (data: CopyProgressEvent) => void): Promise } export const Tiptoi = registerPlugin('Tiptoi')