/**
 * @copyright Sister Software
 * @license AGPL-3.0
 * @author Teffen Ellis, et al.
 */
import { SerializedSolution, type Solution } from "mailwoman/core/solver";
import { SerializedSpan, Span } from "./Span.js";
export interface SerializedTokenContext {
    span: SerializedSpan;
    solutions: SerializedSolution[];
    sections: SerializedSpan[];
    readonly coverage: number;
}
/**
 * Tokenizes a string into sections and phrases.
 */
export declare class TokenContext {
    #private;
    get solutions(): Solution[];
    set solutions(nextSolutions: Solution[]);
    get span(): Span;
    /**
     * Sections of the tokenization.
     */
    get sections(): Span[];
    constructor(input?: string);
    /**
     * Evaluate and rank the solutions.
     *
     * This method is called after the solver has generated solutions, modifying the solutions
     * in-place.
     */
    evaluateAndRank(solutionLimit: number): void;
    /**
     * Serialize the tokenizer.
     */
    toJSON(): SerializedTokenContext;
}
//# sourceMappingURL=context.d.ts.map