import type Token from 'markdown-it/lib/token';
import { ListType, ListInlineContext, ParsedListItem, ListOpenResult } from "./latex-list-types";
/**
* Creates an opening list-item token (
) for block-style LaTeX list items.
* Handles marker parsing, enumeration start values, nesting metadata,
* and updates the internal list-level state (item counters).
*
* @param state - Markdown-It state object
* @param startLine - Starting line number of the list item
* @param endLine - Ending line number of the list item
* @param marker - Optional raw \item[...] marker string
* @param li - Optional enumeration start value (e.g., \setcounter)
* @param itemizeLevelTokens - Pre-parsed bullet tokens for itemize levels
* @param enumerateLevelTypes - Current enumerate list-style types
* @param itemizeLevelContents - Raw bullet text for each itemize level
*/
export declare const setTokenListItemOpenBlock: (state: any, startLine: number, endLine: number, marker: string | undefined, li: {
value: number;
} | null, itemizeLevelTokens: Token[][], enumerateLevelTypes: string[], itemizeLevelContents: string[]) => void;
/**
* Creates an opening token for LaTeX list environments (\begin{itemize}, \begin{enumerate}).
* Updates list nesting state, parent tracking, and attaches itemize/enumerate
* styling metadata used for rendering markers and list formatting.
*
* @param state - Markdown-It processing state
* @param startLine - Line number where the list begins
* @param endLine - Line number where the list ends
* @param type - List type ("itemize" or "enumerate")
* @param itemizeLevelTokens - Pre-parsed itemize bullet tokens
* @param enumerateLevelTypes - List-style types for enumerate levels
* @param itemizeLevelContents - Raw bullet text for each itemize level
*/
export declare const setTokenOpenList: (state: StateBlock, startLine: number, endLine: number, type: ListType, itemizeLevelTokens: Token[][], enumerateLevelTypes: string[], itemizeLevelContents: string[]) => Token;
/**
* Parses a LaTeX list environment beginning on the current line
* (e.g., \begin{itemize} or \begin{enumerate}), opens the
* corresponding list token, and processes any inline content
* that appears on the same line after \begin{...}.
*
* Returns:
* - iOpen: how many list environments were opened
* - tokenStart: the created *_list_open token, if any
* - li: optional enumerate start value extracted via \setcounter
*/
export declare const ListOpen: (state: StateBlock, startLine: number, lineText: string, itemizeLevelTokens: Token[][], enumerateLevelTypes: string[], itemizeLevelContents: string[]) => ListOpenResult;
/**
* Closes the current LaTeX list environment (\end{itemize} / \end{enumerate}).
*
* - Closes any still-open list item if needed
* - Emits the appropriate *_list_close token
* - Updates list nesting levels and internal list-level state
*
* @param state - Markdown-It processing state
* @param startLine - Line where the list block starts
* @param endLine - Line where the list block ends
* @returns The created closing list token
*/
export declare const setTokenCloseList: (state: StateBlock, startLine: number, endLine: number) => void;
/**
* Processes a single inline token inside a LaTeX list item.
*
* This function:
* - Applies \setcounter values to list items (\item)
* - Handles custom list markers and computes marker padding
* - Updates parent metadata (type, nesting level, line map)
* - Adjusts list nesting state for itemize/enumerate environments
* - Attaches itemize/enumerate level styling metadata
*
* @param state - The Markdown-It state object
* @param item - Parsed list item metadata (start/end line and content)
* @param child - Inline token to process
* @param ctx - Shared context for updating list state (padding, counters, levels)
*/
export declare const processListChildToken: (state: any, item: ParsedListItem, child: Token, ctx: ListInlineContext) => void;