export declare class KatexSpecificOptions { /** * If `true`, math will be rendered in display mode * (math in display style and center math on page) * * If `false`, math will be rendered in inline mode * @default false */ displayMode?: boolean; /** * If `true`, KaTeX will throw a `ParseError` when * it encounters an unsupported command or invalid LaTex * * If `false`, KaTeX will render unsupported commands as * text, and render invalid LaTeX as its source code with * hover text giving the error, in color given by errorColor * @default true */ throwOnError?: boolean; /** * A Color string given in format `#XXX` or `#XXXXXX` */ errorColor?: string; /** * A collection of custom macros. * * See `src/macros.js` for its usage */ macros?: any; /** * If `true`, `\color` will work like LaTeX's `\textcolor` * and takes 2 arguments * * If `false`, `\color` will work like LaTeX's `\color` * and takes 1 argument * * In both cases, `\textcolor` works as in LaTeX * * @default false */ colorIsTextColor?: boolean; /** * All user-specified sizes will be caped to `maxSize` ems * * If set to Infinity, users can make elements and space * arbitrarily large * * @default Infinity */ maxSize?: number; /** * Limit the number of macro expansions to specified number * * If set to `Infinity`, marco expander will try to fully expand * as in LaTex * * @default 1000 */ maxExpand?: number; /** * Allowed protocols in `\href` * * Use `_relative` to allow relative urls * * Use `*` to allow all protocols */ allowedProtocols?: string[]; /** * If `false` or `"ignore"`, allow features that make * writing in LaTex convenient but not supported by LaTex * * If `true` or `"error"`, throw an error for such transgressions * * If `"warn"`, warn about behavior via `console.warn` * * @default "warn" */ strict?: boolean | string | Function; } export interface RenderMathInElementSpecificOptionsDelimiters { /** * A string which starts the math expression (i.e. the left delimiter) */ left: string; /** * A string which ends the math expression (i.e. the right delimiter) */ right: string; /** * A boolean of whether the math in the expression should be rendered in display mode or not */ display: boolean; } export interface RenderMathInElementSpecificOptions { /** * A list of delimiters to look for math * * @default [ * {left: "$$", right: "$$", display: true}, * {left: "\\(", right: "\\)", display: false}, * {left: "\\[", right: "\\]", display: true} * ] */ delimiters?: ReadonlyArray | undefined; /** * A list of DOM node types to ignore when recursing through * * @default ["script", "noscript", "style", "textarea", "pre", "code"] */ ignoredTags?: ReadonlyArray | undefined; /** * A list of DOM node class names to ignore when recursing through * * @default [] */ ignoredClasses?: string[] | undefined; /** * A callback method returning a message and an error stack in case of an critical error during rendering * @param msg Message generated by KaTeX * @param err Caught error * * @default console.error */ errorCallback?(msg: string, err: Error): void; } /** * renderMathInElement options contain KaTeX render options and renderMathInElement specific options */ export type KatexOptions = KatexSpecificOptions & RenderMathInElementSpecificOptions;