import type { CapturedAtSource } from "@familyalbum/shared";
export declare function parseFileNameDate(name: string): Date | null;
/** Format EXIF "YYYY:MM:DD HH:MM:SS" (heure locale) → Date UTC. */
export declare function parseExifDateString(value: string): Date | null;
/**
 * Extrait DateTimeOriginal/DateTimeDigitized/DateTime d'un buffer JPEG.
 * Recherche le marqueur APP1 "Exif\0\0", puis parse le TIFF (IFD0 → ExifIFD).
 * Retourne la valeur brute ("YYYY:MM:DD HH:MM:SS") ou null.
 */
export declare function parseExifDateTime(buffer: Buffer): string | null;
export interface CapturedAtResolution {
    date: Date;
    source: CapturedAtSource;
}
/**
 * Résout la date de capture d'un fichier.
 * @param name nom du fichier
 * @param mtime date du serveur (mtime du fichier uploadé)
 * @param readExif callback optionnel qui lit le début du fichier (JPEG)
 */
export declare function resolveCapturedAt(name: string, mtime: Date | null, readExif?: () => Promise<Buffer>): Promise<CapturedAtResolution>;
