type MapHandle = { name: string; queryPermission?: (o: { mode: string; }) => Promise; requestPermission?: (o: { mode: string; }) => Promise; getFileHandle: (naam: string, o?: { create?: boolean; }) => Promise<{ createWritable: () => Promise<{ write: (d: Blob) => Promise; close: () => Promise; }>; }>; }; export type PdfMapKoppeling = { versie: 1; handle: MapHandle; printPlekId: string | null; persistent: boolean | null; bijgewerktOp: string; }; export declare function mapKiezenMogelijk(): boolean; /** Koppelt deze browsermap aan de fysieke printplek die hij mag afhandelen. */ export declare function koppelPdfMapAanPrintplek(printPlekId: string): Promise; /** De printplek waarvoor deze browser lokale PDF's mag schrijven. */ export declare function lokalePdfPrintplek(): Promise; /** * Leest de samenhangende lokale map/printplek-koppeling. Oude losse sleutels * worden eenmalig naar dit record gemigreerd zonder een geldige handle te wissen. */ export declare function pdfMapKoppeling(): Promise; export declare function luisterNaarPdfMapWijziging(handler: () => void): () => void; export type PdfMapKeuze = { status: "gekozen"; naam: string; persistent: boolean | null; } | { status: "geannuleerd"; } | { status: "niet-ondersteund"; } | { status: "iframe-geblokkeerd"; } | { status: "fout"; melding: string; }; /** * Browsers blokkeren showDirectoryPicker in een cross-origin iframe (zoals de * Lovable-preview). De aanroeper kan dan aanbieden om de app in een eigen * tabblad te openen, waar de verkenner wel werkt. */ export declare function draaitInIframe(): boolean; /** Opent de huidige pagina in een eigen tabblad (buiten het preview-iframe). */ export declare function openInEigenTabblad(printPlekId?: string): void; /** * Opent de mappenverkenner van het besturingssysteem zodat de gebruiker een * map kan selecteren. Start in Downloads zodat het pad snel te vinden is. * Geeft terug wat er is gebeurd zodat de aanroeper gericht kan reageren. */ export declare function kiesPdfMap(printerId: string, printPlekId?: string): Promise; /** Is er voor deze printer een map gekozen op deze computer? */ export declare function heeftPdfMap(printerId: string): Promise; /** Naam van de gekozen map (voor meldingen), of null. */ export declare function pdfMapNaam(printerId: string): Promise; /** * Probeert het bestand rechtstreeks in de gekozen map te zetten. Lukt dat niet * (andere computer, geen toestemming, browser zonder ondersteuning), dan geeft * de functie false terug en kan de aanroeper gewoon downloaden. */ export declare function bewaarInPdfMap(printerId: string, bestandsnaam: string, blob: Blob): Promise; /** Controleert toestemming zonder een bestandsactie te starten. */ export declare function pdfMapToestemming(printerId: string): Promise<"granted" | "prompt" | "denied" | "ontbreekt">; /** * Vraagt vanuit een expliciete gebruikersklik opnieuw schrijftoestemming voor * een eerder gekozen map. Achtergrondtaken mogen deze browserprompt niet zelf * openen, omdat browsers daarvoor een actieve gebruikershandeling vereisen. */ export declare function herstelPdfMapToestemming(printerId: string): Promise<"granted" | "denied" | "ontbreekt">; export {}; //# sourceMappingURL=pdfMap.d.ts.map