import type { ThemeKey } from './themes.js'; export type QrFormat = 'svg' | 'png' | 'dataUrl'; export type QrEcc = 'L' | 'M' | 'Q' | 'H'; /** Valeurs par défaut éditables dans .qrconfig.json. */ export interface QrConfigDefaults { /** Master toggle — false = QR pur (legacy), bypass tout le pipeline thématique. */ genimage: boolean; /** Format préféré quand l'app n'en spécifie pas un. */ format: QrFormat; /** Largeur/hauteur du canvas SVG/PNG en pixels. */ width: number; /** Marge blanche autour du QR (en modules). */ margin: number; /** Niveau de correction d'erreur. 'H' recommandé pour composite (ECC=30%). */ errorCorrectionLevel: QrEcc; /** Couleur des modules sombres du QR. */ darkColor: string; /** Couleur du fond (cartouche central). */ lightColor: string; /** 'random' = tirage dans themePool, ou clé thème, ou 'none' (= image off ponctuel). */ theme: ThemeKey | 'random' | 'none'; /** Sous-set des thèmes utilisés quand theme='random'. */ themePool: ThemeKey[]; /** * Position du motif dans la zone-marge (0..1) : * 0 = collé au bord * 0.5 = centre de la marge (optimal — default) * 1 = collé contre le cartouche */ framePadding: number; /** Taille du cartouche blanc central (proportion du canvas, 0..1). */ centerWhiteRatio: number; /** Opacité du cadre image (0..1). */ themeOpacity: number; /** Couleur monochrome du cadre image (CSS color). */ themeColor: string; } export interface QrConfig { default: QrConfigDefaults; /** Thèmes custom — clé arbitraire, override ou ajout. */ customThemes?: Record; } export declare const DEFAULT_CONFIG: QrConfig; /** * Lit la config depuis `cwd` (default `process.cwd()`). * * Comportement (depuis 0.3.2) : * - Si `.qrconfig.json/.js/.qrconfig` trouvé → lecture + cache mtime. * - Si absent ET auto-ensure activé → tente writeFileSync silencieux. * - Si writeFileSync échoue (readonly fs, perm denied) → fallback transparent * sur DEFAULT_CONFIG, l'échec est mémorisé pour ne pas retenter. * * Désactiver l'auto-ensure : `QRPANEL_AUTO_ENSURE=false`. */ export declare function loadQrConfig(cwd?: string): QrConfig; /** * Crée `.qrconfig.json` à `cwd` s'il n'existe pas. Idempotent. * Retourne le path écrit (ou path existant si déjà là). * * @param overrides — valeurs par défaut à patcher dans le fichier généré. */ export declare function ensureQrConfig(cwd?: string, overrides?: Partial): string; /** Vide le cache mémoire (utile pour les tests). */ export declare function clearConfigCache(): void; //# sourceMappingURL=config.d.ts.map