export declare const LOGO_BUCKET = "layout-logos"; export declare const LOGO_CATEGORIEEN: readonly [{ readonly value: "hoofdlogo"; readonly label: "Hoofdlogo"; }, { readonly value: "facturen"; readonly label: "Facturen"; }, { readonly value: "merken"; readonly label: "Merken"; }, { readonly value: "labels"; readonly label: "Labels"; }, { readonly value: "klanten"; readonly label: "Klanten"; }, { readonly value: "overig"; readonly label: "Overig"; }]; export declare function logoCategorieLabel(v: string): string; export interface LogoModel { id: string; naam: string; omschrijving: string; categorie: string; bestand_url: string; bestandspad: string | null; bestandstype: string; breedte: number; hoogte: number; bestandsgrootte: number; transparant: boolean; is_standaard: boolean; hash: string | null; created_at: string; updated_at: string; /** tijdelijke, ondertekende weergave-URL */ viewUrl?: string; } export declare const TOEGESTANE_LOGO_TYPES: string[]; export declare function bestandstypeVan(file: File): string; export declare function bestandHash(file: File): Promise; export declare function leesAfmetingen(file: File): Promise<{ breedte: number; hoogte: number; transparant: boolean; }>; export declare function haalLogos(): Promise; export declare function useLogos(): { logos: LogoModel[]; loading: boolean; reload: (stil?: boolean) => Promise; }; export interface UploadInput { file: File; naam: string; omschrijving: string; categorie: string; is_standaard: boolean; } export declare function bestaatHash(hash: string): Promise; export declare const OPSLAG_ONTBREEKT: string; /** Vertaalt technische opslagfouten naar begrijpelijke Nederlandse tekst. */ export declare function vertaalOpslagFout(e: unknown): Error; /** * Controleert of de logo-opslag bestaat en bereikbaar is. * Geeft `null` bij goed, anders een uitlegbare melding. */ export declare function controleerLogoOpslag(): Promise; export declare function useLogoOpslag(): { opslagFout: string | null; controleer: () => Promise; }; export declare function maakLogo(input: UploadInput): Promise; export declare function werkLogoBij(id: string, patch: Partial): Promise; /** Vervangt het bestand van een bestaand logo — alle layouts volgen automatisch. */ export declare function vervangLogoBestand(logo: LogoModel, file: File): Promise; export declare function verwijderLogo(logo: LogoModel): Promise; export declare function downloadLogo(logo: LogoModel): Promise; export declare function formatteerBytes(n: number): string; /** * Logo's als ingebedde data-URL. Nodig bij afdrukken: een printvenster kan * tijdelijke (ondertekende) URL's soms niet op tijd laden, waardoor het logo * als kapotte afbeelding op papier komt. */ export declare function haalPrintLogos(): Promise<{ id: string; naam: string; viewUrl: string | null; }[]>; //# sourceMappingURL=logoLibrary.d.ts.map