import { type SpeechSourceTokenization } from "./speech-tokenizer.js";
import type { AlignmentResult, HighlightTarget, MathMLTokenizationResult } from "./types.js";
export interface MathAwareAlignment {
    speech: SpeechSourceTokenization;
    math: MathMLTokenizationResult;
    result: AlignmentResult;
}
export declare const createMathAwareAlignment: (args: {
    mathElement: Element;
    speechText: string;
}) => MathAwareAlignment;
export declare const resolveHighlightTargetForBoundary: (alignment: MathAwareAlignment, args: {
    position: number;
    length?: number;
    boundaryWord?: string;
}) => HighlightTarget;
export declare const resolveMatchedHighlightTargetForBoundary: (alignment: MathAwareAlignment, args: {
    position: number;
    length?: number;
    boundaryWord?: string;
}) => HighlightTarget | null;
export declare const resolveMatchedHighlightTargetForSpokenBoundary: (alignment: MathAwareAlignment, args: {
    position: number;
    length?: number;
    boundaryWord?: string;
}) => HighlightTarget | null;
export declare const resolveUniqueMathTargetForBoundaryWord: (alignment: MathAwareAlignment, args: {
    boundaryWord?: string;
}) => HighlightTarget | null;
export type * from "./types.js";
