import type {CapturedResultItem, Quadrilateral, EnumCapturedResultItemType} from "../core";
import type {CharacterResult} from "./CharacterResult";

/**
 * The TextLineResultItem interface represents a text line result item recognized by the library.
 *
 * @see {@link EnumCapturedResultItemType.CRIT_TEXT_LINE}
 * @see {@link RecognizedTextLinesResult}
 * */
export interface TextLineResultItem extends CapturedResultItem {
    /**
     * The location of the text line in the form of a quadrilateral.
     * @see {@link Quadrilateral}
     * */
    location: Quadrilateral;

    /**
     * The text content of the text line.
     * */
    text: string;

    /**
     * The raw text content of the text line.
     * */
    rawText: string;

    /**
     * The confidence of the text line recognition result.
     * */
    confidence: number;

    /**
     * All the characters in the text line.
     * */
    characterResults: CharacterResult[];

    /**
     * The name of the text line specification that generated this element.
     * */
    specificationName:string;
}
