import type { NormalizedFontMetrics, TextBaseline, TextVerticalAlign } from '../TextRenderer.js';
import type { TextAlign, TextOverflow } from './Settings.js';
export interface RenderInfo {
    lines: string[];
    precision: number;
    remainingText: string;
    moreTextLines: boolean;
    width: number;
    innerWidth: number;
    height: number;
    fontSize: number;
    cutSx: number;
    cutSy: number;
    cutEx: number;
    cutEy: number;
    lineHeight: number | null;
    defLineHeight: number;
    lineWidths: number[];
    offsetY: number;
    paddingLeft: number;
    paddingRight: number;
    letterSpacing: number;
    textIndent: number;
    metrics: NormalizedFontMetrics;
    text: string;
    fontStyle: string;
    fontBaselineRatio: number;
    fontFamily: string | null;
    wordWrap: boolean;
    wordWrapWidth: number;
    wordBreak: 'normal' | 'break-all' | 'break-word';
    textOverflow: TextOverflow | null;
    textBaseline: TextBaseline;
    textAlign: TextAlign;
    verticalAlign: TextVerticalAlign;
    maxLines: number;
    maxHeight: number | null;
    overflowSuffix: string;
    textColor: number;
    shadow: boolean;
    shadowColor: number;
    shadowOffsetX: number;
    shadowOffsetY: number;
    shadowBlur: number;
    highlight: boolean;
    highlightHeight: number;
    highlightColor: number;
    highlightOffset: number;
    highlightPaddingLeft: number;
    highlightPaddingRight: number;
    advancedRenderer: boolean;
    textRenderIssueMargin: number;
}
export interface LineType {
    text: string;
    x: number;
    y: number;
    w: number;
}
export declare function calculateRenderInfo(context: OffscreenCanvasRenderingContext2D | CanvasRenderingContext2D, renderInfo: RenderInfo): void;
