// Generated by alef. Do not edit by hand.
@file:Suppress(
    "ktlint:standard:trailing-comma-on-call-site",
    "ktlint:standard:trailing-comma-on-declaration-site",
    "ktlint:standard:spacing-between-declarations-with-comments",
    "ktlint:standard:spacing-between-declarations-with-annotations",
    "ktlint:standard:when-entry-bracing",
    "ktlint:standard:blank-line-between-when-conditions",
    "ktlint:standard:blank-line-before-declaration",
    "ktlint:standard:chain-method-continuation",
    "ktlint:standard:annotation",
    "ktlint:standard:max-line-length",
    "ktlint:standard:no-semi",
    "ktlint:standard:statement-wrapping",
    "MaxLineLength",
    "TooManyFunctions",
    "FunctionParameterNaming",
    "LongParameterList",
    "CyclomaticComplexMethod",
    "LongMethod",
)

package dev.kreuzberg

import java.nio.file.Path

/**
 * Configuration for styled HTML output.
 *
 * When set on `ExtractionConfig.html_output` alongside
 * `output_format = OutputFormat.Html`, the pipeline builds a
 * `StyledHtmlRenderer` instead of
 * the plain comrak-based renderer.
 */
data class HtmlOutputConfig(
    /**
     * Inline CSS string injected into the output after the theme stylesheet.
     * Concatenated after `css_file` content when both are set.
     */
    val css: String? = null,
    /**
     * Path to a CSS file loaded once at renderer construction time.
     * Concatenated before `css` when both are set.
     */
    val cssFile: java.nio.file.Path? = null,
    /** Built-in colour/typography theme. Default: `HtmlTheme.Unstyled`. */
    val theme: HtmlTheme = HtmlTheme.UNSTYLED,
    /**
     * CSS class prefix applied to every emitted class name.
     *
     * Default: `"kb-"`. Change this if your host application already uses
     * classes that start with `kb-`.
     */
    val classPrefix: String = "",
    /**
     * When `true` (default), write the resolved CSS into a `<style>` block
     * immediately after the opening `<div class="{prefix}doc">`.
     *
     * Set to `false` to emit only the structural markup and wire up your
     * own stylesheet targeting the `kb-*` class names.
     */
    val embedCss: Boolean = true,
)
