import type { FikaExportWatermark, FikaWatermarkSurface } from '../configs/exportWatermark'; export declare const EXPORT_WATERMARK_MARKER = "fika:export-watermark"; export interface WatermarkImage { bytes: Uint8Array; mime: 'image/png' | 'image/jpeg'; width: number; height: number; } export interface ApplyPptxExportWatermarkImages { onLight: WatermarkImage; onDark?: WatermarkImage; /** Per-slide polarity from `preferredInk`. Gaps are inferred from the slide XML. */ slideSurfaces?: Array; masterSurface?: FikaWatermarkSurface; } /** Reads dimensions from the PNG/JPEG header — no decoder or DOM needed. */ export declare function readWatermarkImage(bytes: Uint8Array): WatermarkImage; /** Resolves `image` (data: URL or fetchable URL) to raw bytes plus dimensions. */ export declare function loadWatermarkImage(image: string): Promise; /** * Same cliff as `perceivedDark` in textContrast: AERT brightness 140 or WCAG * luminance 0.25. Dark surface → light mark. */ export declare function watermarkSurfaceFromRgb(r: number, g: number, b: number): FikaWatermarkSurface; export declare function watermarkSurfaceFromHex(hex: string): FikaWatermarkSurface; /** Photo fills use the invert mark; solids/gradients follow the sampled color. */ export declare function inferWatermarkSurfaceFromSlideXml(xml: string): FikaWatermarkSurface; /** True when the package already carries the export watermark on any slide. */ export declare function hasPptxExportWatermark(bytes: ArrayBuffer | Uint8Array): Promise; /** * Returns a new package with the watermark on every slide and slide master. * Throws when the input is not a presentation package. */ export declare function applyPptxExportWatermark(bytes: ArrayBuffer | Uint8Array, watermark: FikaExportWatermark, images: WatermarkImage | ApplyPptxExportWatermarkImages): Promise; /** * Browser download through a real `HTMLAnchorElement.click()` — the same seam * pptxgenjs uses, which embedding hosts rely on to capture export bytes. */ export declare function downloadPptxBytes(bytes: Uint8Array, fileName: string): void;