import { RenderTarget } from './target.js'; /** Optional adjustments layered onto the publication file for a render. */ export interface PublicationOverrides { /** * Fallback PreTeXt HTML theme for projects that name none; see * `RenderOptions.cssTheme`. A blank value is ignored. */ cssTheme?: string; /** * Fallback reveal.js theme for slideshows that name none; see * `RenderOptions.revealTheme`. Only consulted when `target` is "slides". */ revealTheme?: string; /** * Which conversion this publication file is being prepared for. "slides" * additionally forces the reveal.js resource host; see * {@link forceRevealResources}. Defaults to "html". */ target?: RenderTarget; } /** * Return publication-file XML with `` * forced, preserving everything else from `publicationXml` when given. * * Portable mode is forced for slideshows too, even though the reveal.js * conversion never chunks: it is what sets `$cdn-prefix`, and so what puts the * PreTeXt-side css and js (sagecell, syntax highlighting, the slide styling) * on the CDN rather than at a relative path that does not exist. */ export declare function forcePortablePublication(publicationXml?: string, overrides?: PublicationOverrides): string; /** * Where a project's images live, as declared by * ``. * * Both paths are relative to the directory of the *main* source file — the one * holding `` — not to whichever file is being rendered. See * RenderOptions.mainSourcePath. */ export interface AssetDirectories { /** e.g. "../assets/" — trailing slash, relative to the main source dir. */ external?: string; /** e.g. "../generated-assets/" — likewise. */ generated?: string; /** * True when the publication declares both attributes ("managed * directories"). Only then does PreTeXt emit asset URLs under the fixed * `external/` and `generated/` prefixes that {@link rewriteAssetUrls} keys * on; legacy projects emit bare or `images/`-prefixed paths that cannot be * told apart from anything else, so the preview leaves them alone. */ managed: boolean; } /** * Read the asset directories from a publication file, falling back to the * defaults baked into MINIMAL_PUBLICATION when none is supplied. */ export declare function readAssetDirectories(publicationXml?: string): AssetDirectories;