import { CSSProperties, JSX } from 'react';
import { DataCell } from '../types/data-structures';
/**
 * Custom interface used to facilitate the formatted text interpretation
 */
export interface FormattedTextPortion {
    tag?: string;
    content?: string;
    closed?: boolean;
}
/**
 * Utility to check if the given text has GCell codes formatting
 * @param text
 * @returns
 */
export declare function hasGCellTags(text: string): boolean;
/**
 * Function used to create an array of FormattedTextPortions starting from a string
 * @param input - The string to analyze
 * @returns an array of FormattedTextPortion
 */
export declare function getFormattedTextPortionsFromString(input: string): FormattedTextPortion[];
/**
 * Converts parsed elements into React JSX elements with inline styles.
 * @param parsedElements - Array of parsed elements from the label string
 */
export declare function renderFormattedTextPortions(bindValue: string): JSX.Element[];
/**
 * List of fixed GCell codes
 */
export declare enum GCellFixedStyles {
    BOLD = "*BOLD",
    ERROR = "*ERROR",
    UNDERLINE = "*UNDERLINE",
    ITALIC = "*ITALIC"
}
/**
 * Map linking the FixedStyles codes to their CSSProperties
 */
export declare const GCellFixedStylesProperties: {
    [key in GCellFixedStyles]: CSSProperties;
};
/**
 * Main 'GCell code -> style' interpretation function
 * @param code - The code to analyze
 * @returns a CSSProperties object
 */
export declare function getStylesFromGCellCode(code: string): CSSProperties;
/**
 * Extracts CSS styles from a `DataCell` object.
 *
 * Resolution order:
 * 1. Returns `{}` if `gCell` is falsy.
 * 2. Returns `gCell.style` directly if defined.
 * 3. Falls back to deriving styles from the cell's object key, value, or an empty string.
 *
 * @param gCell - The data cell from which to extract styles.
 * @returns A `CSSProperties` object representing the resolved styles.
 */
export declare function getStylesFromGCell(gCell: DataCell): CSSProperties;
//# sourceMappingURL=gcell.d.ts.map