/** * Renders a text element with optional wrapping. * 1) If the text ends with a parenthetical ("... (...)"), and is long (> 36), split conservatively into two lines. * 2) Otherwise, if maxWidthPx is provided and the estimated width exceeds it, split into two balanced lines by words. * 3) Else render as a single line. */ export declare function renderWrappedText(text: string, x: number, y: number, className: string, lineHeight?: string, maxWidthPx?: number, approxCharWidthPx?: number): string; /** * Renders a Y-axis label that wraps to fit the chart height and is rotated -90 degrees around (x, yCenter). * The wrapping width is derived from the available chart height. */ export declare function renderRotatedWrappedYAxisLabel(text: string, x: number, yCenter: number, chartHeightPx: number, className?: string, lineHeight?: string, approxCharWidthPx?: number, paddingPx?: number): string; /** * Strip common Markdown/HTML syntax to produce safe plaintext for widget fields. * * Goals: * - Replace links/images with their human-readable text (drop URLs) * - Remove emphasis markers, code fences/spans, headings, blockquotes, list bullets * - Remove HTML tags * - Normalize whitespace * - If the result is a bare URL or empty, return an empty string */ export declare function stripMarkdownToPlaintext(input: string): string; /** * Estimates the final dimensions (width and height) of a text element after wrapping. * This function uses the same wrapping logic as CanvasImpl.wrapText for accurate prediction. * * @returns An object with the total height and maximum width of the wrapped text. */ export declare function estimateWrappedTextDimensions(text: string, maxWidthPx: number, fontSize?: number, lineHeight?: number): { height: number; maxWidth: number; }; //# sourceMappingURL=text.d.ts.map