export interface Printplek { id: string; naam: string; omschrijving: string | null; actief: boolean; } export interface PrintplekComputer { id: string; print_plek_id: string; computer_naam: string; } export interface PrintplekDocumentPrinter { id: string; print_plek_id: string; documenttype: string; printer_id: string | null; papierformaat: string | null; printer_ontbreekt_sinds?: string | null; } export interface PrintplekKoppeling { id: string; print_plek_id: string; /** Vrije aanduiding van de aanleverende module, bijv. "pickstation". */ bron: string; bron_id: string; label: string | null; } /** Alle printplekken met hun computers, documentregels en koppelingen. */ export declare function usePrintplekken(): { plekken: Printplek[]; computers: PrintplekComputer[]; regels: PrintplekDocumentPrinter[]; koppelingen: PrintplekKoppeling[]; toegewezen: PrintplekPrinter[]; laden: boolean; fout: string | null; reload: (stil?: boolean) => Promise; }; /** * Eenvoudige lijst van actieve printplekken. Bedoeld voor andere modules die * een keuzelijst willen tonen (bijv. "welke printplek hoort bij dit * pickstation?"). */ export declare function printplekkenLijst(): Promise; /** Hook-variant van `printplekkenLijst` voor gebruik in andere modules. */ export declare function useBeschikbarePrintplekken(): { plekken: Printplek[]; laden: boolean; reload: () => Promise; }; export declare function maakPrintplek(naam: string, omschrijving?: string): Promise; export declare function bewerkPrintplek(id: string, velden: { naam?: string; omschrijving?: string | null; actief?: boolean; }): Promise; export interface PrintplekImpact { computers: string[]; regels: number; printers: number; koppelingen: string[]; } /** Wat er verdwijnt als deze printplek wordt verwijderd. */ export declare function printplekVerwijderImpact(id: string): Promise; /** * Verwijdert een printplek in één databasebewerking: computers en printers * worden losgekoppeld (blijven bestaan), plek-eigen regels verdwijnen. */ export declare function verwijderPrintplek(id: string): Promise; /** Zet een computer (werkplek) bij een printplek. Een computer hoort bij één plek. */ export declare function koppelComputerAanPrintplek(printPlekId: string, computerNaam: string): Promise; export declare function ontkoppelComputer(computerNaam: string): Promise; /** Legt vast welke printer een documentsoort op deze printplek gebruikt. */ export declare function zetPrintplekPrinter(printPlekId: string, documenttype: string, printerId: string | null, papierformaat?: string | null): Promise; /** * Koppelt een willekeurige externe eenheid (pickstation, scanner, balie) aan * een printplek. `bron` is een vrij label van de aanleverende module. */ export declare function koppelBronAanPrintplek(printPlekId: string, bron: string, bronId: string, label?: string): Promise; export declare function ontkoppelBron(bron: string, bronId: string): Promise; /** De printplek die bij een externe eenheid hoort, of `null`. */ export declare function printplekVoorBron(bron: string, bronId: string): Promise; /** * De printer die op deze printplek voor deze documentsoort is ingesteld via een * printplek-eigen regel. Berekend met de gedeelde routering (`printer_routering`), * dus exact wat er bij het printen gebeurt. */ export declare function printerVoorPrintplek(printPlekId: string, documenttype: string): Promise; export interface GenegeerdeComputer { id: string; computer_naam: string; genegeerd_op: string; } export declare function genegeerdeComputersLijst(): Promise; export declare function useGenegeerdeComputers(): { genegeerd: GenegeerdeComputer[]; reload: () => Promise; }; /** * Verwijdert een computer: haalt hem van zijn printplek en zet hem op de * negeerlijst. `printers` bepaalt wat er met zijn printers gebeurt: * "verwijderen" koppelt ze los van de plek, of een printplek-id om ze te verplaatsen. */ export declare function negeerComputer(computerNaam: string, printers: { printerIds: string[]; vanPlek: string | null; actie: "verwijderen" | { naarPlek: string; }; } | null): Promise; export declare function zetComputerTerug(computerNaam: string): Promise; /** * Verplaatst een printer naar een andere printplek, inclusief de * printplek-eigen regels die naar hem wezen. */ export declare function verplaatsPrinterNaarPrintplek(printerId: string, vanPlek: string, naarPlek: string): Promise; export interface PrintplekPrinter { id: string; print_plek_id: string; printer_id: string; toegevoegd_op: string; } export declare function wijsPrinterToeAanPrintplek(printPlekId: string, printerId: string): Promise; /** Koppelt los; regels die ernaar wezen worden zichtbaar leeggemaakt. */ export declare function koppelPrinterLosVanPrintplek(printPlekId: string, printerId: string): Promise; export interface PrinterGebruik { printplek_regels: number; werkplek_regels: number; layout_koppelingen: number; standaardregels: number; printplekken: number; } export declare function printerGebruik(printerId: string): Promise; /** Zet alle verwijzingen in één keer over naar `nieuw` (of `null` = geen printer). */ export declare function vervangPrinterOveral(oud: string, nieuw: string | null): Promise>; /** De printplek waar een computer/werkplek bij hoort, of `null`. */ export declare function printplekVoorComputer(computerNaam: string): Promise; /** Naam van een printplek, voor nette foutmeldingen. */ export declare function printplekNaam(printPlekId: string): Promise; /** * Alles wat een andere module nodig heeft om één eenheid (bijv. een pickstation) * aan een printplek te koppelen: de beschikbare printplekken, de huidige keuze * en functies om te zetten of te wissen. Koppelen gebeurt altijd op id. */ export declare function useKoppelingVoorBron(bron: string, bronId: string, label?: string): { plekken: Printplek[]; printplekId: string | null; printplekNaam: string | null; gekoppeld: boolean; laden: boolean; koppel: (nieuwePlekId: string) => Promise; ontkoppel: () => Promise; herlaad: () => Promise; }; //# sourceMappingURL=printplekken.d.ts.map