import { type ReactNode, type CSSProperties } from "react"; export interface KnuthPlassWrapProps { /** The paragraph text to lay out. */ text: string; /** Raw TTF/OTF font binary (variable font — covers all weights). */ fontData?: ArrayBuffer; /** URL to a TTF/OTF font file. Fetched and cached automatically. */ fontUrl?: string; /** Map of weight → font binary for static font families. * Keys are CSS font-weight values (e.g. 400, 700). * The component picks the closest match for the requested fontWeight. */ fontDataMap?: Record; /** Font size in CSS pixels. */ fontSize: number; /** Target line width in CSS pixels. */ lineWidth: number; /** CSS font-family for rendering. Only needed when NOT using scoped font * registration (i.e. when you manage @font-face yourself). */ fontFamily?: string; /** CSS font-weight. Also passed to HarfBuzz for variable font shaping. Default: 400. */ fontWeight?: number; /** CSS font-style. Default: "normal". */ fontStyle?: string; /** CSS font-stretch or wdth value. Default: "100%". */ fontStretch?: string; /** Line height multiplier. Default: 1.6. */ lineHeight?: number; /** Text color. Default: "#2a2623". */ color?: string; /** Enable standard ligatures. Default: true. */ liga?: boolean; /** Optical sizing: "auto" (default), "none", or an explicit opsz value. */ opticalSizing?: "auto" | "none" | number; /** Enable automatic hyphenation. Default: false. */ hyphenate?: boolean; /** ISO 639-1 language code for hyphenation (e.g. `"en"`, `"de"`, `"fr"`). * Also passed through for language-sensitive shaping. Default: `"en"`. */ lang?: string; /** Text direction metadata. Default: "auto". */ dir?: "auto" | "ltr" | "rtl"; /** CSS writing-mode metadata. KP optimization is horizontal-width based. */ writingMode?: "horizontal-tb" | "vertical-rl" | "vertical-lr"; /** Enable similarity demerits. Default: true. */ similarity?: boolean; /** Hz justification wdth axis range. */ hz?: { min: number; max: number; }; /** Additional CSS class name on the outer container. */ className?: string; /** Additional inline styles on the outer container. */ style?: CSSProperties; /** Fallback content shown while WASM or font is loading. */ fallback?: ReactNode; } /** * Renders a paragraph of text using Knuth-Plass optimal line breaking * with HarfBuzz-accurate measurement via WASM. * * Must be wrapped in a `` boundary — suspends while WASM * initialises and (when using `fontUrl`) while the font binary loads. */ export declare function KnuthPlassWrap({ text, fontData: fontDataProp, fontUrl, fontDataMap, fontSize, lineWidth, fontFamily, fontWeight, fontStyle, fontStretch, lineHeight: lineHeightMult, color, liga, opticalSizing, hyphenate, lang, dir, writingMode, similarity, hz, className, style, fallback, }: KnuthPlassWrapProps): ReactNode; //# sourceMappingURL=KnuthPlassWrap.d.ts.map