/** * Optional deck settings, read from a `zerp` key in the deck's package.json. * * A deck is discovered from a directory containing `slides/` and needs no * configuration at all; this is for the one thing a deck cannot express any * other way without forking the framework — which typefaces it is set in. It * lives in package.json rather than a file of its own because the deck already * has a manifest, and because the font packages it names have to be * dependencies of that same manifest to be resolvable. */ export interface DeckFontConfig { /** Family name as the `@font-face` declares it, e.g. "JetBrains Mono". */ family: string; /** Defaults to `@fontsource/`. */ fontsourcePackage?: string; /** fontsource file stems: "400", "700", "400-italic". */ weights?: string[]; } export interface DeckSize { width: number; height: number; } export declare const DEFAULT_DECK_SIZE: DeckSize; export declare function parseWxH(value: string): DeckSize | null; export interface DeckConfig { fonts?: { body?: DeckFontConfig; display?: DeckFontConfig; mono?: DeckFontConfig; }; size?: DeckSize; } export declare function resolveDeckSize(config: DeckConfig): DeckSize; /** * Read a deck's `zerp` settings. A deck with no package.json, or none with a * `zerp` key, is configured — with the defaults. */ export declare function readDeckConfig(rootDir: string): Promise;