export declare const FONT_EXTS: readonly [".woff2", ".woff", ".ttf", ".otf"]; export interface FontInfo { filename: string; /** Smart-parsed family (e.g. "Inter" for Inter-Bold.woff2). */ family: string; /** * Filename stem with noise suffixes (-webfont, -web) stripped. Used as a * second @font-face alias so users can reference a font by its filename-derived * name (e.g. "knile-bold") without writing manual @font-face rules. */ stemFamily: string; weight: number; style: 'normal' | 'italic'; format: string; } /** * Parse a font filename into family/weight/style metadata. * * Recognises common conventions used by Google Fonts and similar services: * Inter-Regular.ttf → Inter / 400 / normal * Inter-Bold.woff2 → Inter / 700 / normal * Inter-BoldItalic.woff2 → Inter / 700 / italic * Inter-700.ttf → Inter / 700 / normal * knile-bold-webfont.woff2 → knile / 700 / normal (also aliased as "knile-bold") * Roboto-Slab-Bold.ttf → Roboto Slab / 700 / normal * MyFont.ttf → MyFont / 400 / normal * * Returns null for unsupported extensions. Falls back to whole-stem family * (with hyphens preserved) when the trailing modifier is unrecognised. */ export declare function parseFontFilename(filename: string): FontInfo | null; /** Scan a deck's `fonts/` directory and return parsed metadata for each file. */ export declare function scanDeckFonts(deckDir: string): Promise; /** Build `@font-face` CSS that resolves font files via a URL prefix. */ export declare function buildFontFaceCSS(fonts: FontInfo[], urlPrefix: string): string; /** Build `@font-face` CSS with each font embedded as a data URI (for self-contained HTML export). */ export declare function buildFontFaceCSSWithDataURIs(deckDir: string, fonts: FontInfo[]): Promise; /** Copy the deck's `fonts/` directory into a target directory (used for marp-cli exports). */ export declare function copyDeckFonts(deckDir: string, targetDir: string): Promise;