import _m0 from 'protobufjs/minimal';
export declare const protobufPackage = "yandex.cloud.ai.ocr.v1";
export declare enum Angle {
    ANGLE_UNSPECIFIED = 0,
    ANGLE_0 = 1,
    ANGLE_90 = 2,
    ANGLE_180 = 3,
    ANGLE_270 = 4,
    UNRECOGNIZED = -1
}
export declare function angleFromJSON(object: any): Angle;
export declare function angleToJSON(object: Angle): string;
export interface Polygon {
    /** The bounding polygon vertices. */
    vertices: Vertex[];
}
export interface Vertex {
    /** X coordinate in pixels. */
    x: number;
    /** Y coordinate in pixels. */
    y: number;
}
export interface TextAnnotation {
    /** Page width in pixels. */
    width: number;
    /** Page height in pixels. */
    height: number;
    /** Recognized text blocks in this page. */
    blocks: Block[];
    /** Recognized entities. */
    entities: Entity[];
    tables: Table[];
    /** Full text recognized from image. */
    fullText: string;
    /** Angle of image rotation. */
    rotate: Angle;
}
export interface Entity {
    /** Entity name. */
    name: string;
    /** Recognized entity text. */
    text: string;
}
export interface Block {
    /** Area on the page where the text block is located. */
    boundingBox?: Polygon;
    /** Recognized lines in this block. */
    lines: Line[];
    /** A list of detected languages */
    languages: Block_DetectedLanguage[];
    /** Block position from full_text string. */
    textSegments: TextSegments[];
}
export interface Block_DetectedLanguage {
    /** Detected language code. */
    languageCode: string;
}
export interface Line {
    /** Area on the page where the line is located. */
    boundingBox?: Polygon;
    /** Recognized text. */
    text: string;
    /** Recognized words. */
    words: Word[];
    /** Line position from full_text string. */
    textSegments: TextSegments[];
    /** Angle of line rotation. */
    orientation: Angle;
}
export interface Word {
    /** Area on the page where the word is located. */
    boundingBox?: Polygon;
    /** Recognized word value. */
    text: string;
    /** ID of the recognized word in entities array. */
    entityIndex: number;
    /** Word position from full_text string. */
    textSegments: TextSegments[];
}
export interface TextSegments {
    /** Start character position from full_text string. */
    startIndex: number;
    /** Text segment length. */
    length: number;
}
export interface Table {
    /** Area on the page where the table is located. */
    boundingBox?: Polygon;
    /** Number of rows in table. */
    rowCount: number;
    /** Number of columns in table. */
    columnCount: number;
    /** Table cells. */
    cells: TableCell[];
}
export interface TableCell {
    /** Area on the page where the table cell is located. */
    boundingBox?: Polygon;
    /** Row index. */
    rowIndex: number;
    /** Column index. */
    columnIndex: number;
    /** Column span. */
    columnSpan: number;
    /** Row span. */
    rowSpan: number;
    /** Text in cell. */
    text: string;
    /** Table cell position from full_text string. */
    textSegments: TextSegments[];
}
export declare const Polygon: {
    encode(message: Polygon, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Polygon;
    fromJSON(object: any): Polygon;
    toJSON(message: Polygon): unknown;
    fromPartial<I extends {
        vertices?: {
            x?: number | undefined;
            y?: number | undefined;
        }[] | undefined;
    } & {
        vertices?: ({
            x?: number | undefined;
            y?: number | undefined;
        }[] & ({
            x?: number | undefined;
            y?: number | undefined;
        } & {
            x?: number | undefined;
            y?: number | undefined;
        } & Record<Exclude<keyof I["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["vertices"], keyof {
            x?: number | undefined;
            y?: number | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "vertices">, never>>(object: I): Polygon;
};
export declare const Vertex: {
    encode(message: Vertex, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Vertex;
    fromJSON(object: any): Vertex;
    toJSON(message: Vertex): unknown;
    fromPartial<I extends {
        x?: number | undefined;
        y?: number | undefined;
    } & {
        x?: number | undefined;
        y?: number | undefined;
    } & Record<Exclude<keyof I, keyof Vertex>, never>>(object: I): Vertex;
};
export declare const TextAnnotation: {
    encode(message: TextAnnotation, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TextAnnotation;
    fromJSON(object: any): TextAnnotation;
    toJSON(message: TextAnnotation): unknown;
    fromPartial<I extends {
        width?: number | undefined;
        height?: number | undefined;
        blocks?: {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            lines?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                words?: {
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                }[] | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
                orientation?: Angle | undefined;
            }[] | undefined;
            languages?: {
                languageCode?: string | undefined;
            }[] | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        }[] | undefined;
        entities?: {
            name?: string | undefined;
            text?: string | undefined;
        }[] | undefined;
        tables?: {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            rowCount?: number | undefined;
            columnCount?: number | undefined;
            cells?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                rowIndex?: number | undefined;
                columnIndex?: number | undefined;
                columnSpan?: number | undefined;
                rowSpan?: number | undefined;
                text?: string | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] | undefined;
        }[] | undefined;
        fullText?: string | undefined;
        rotate?: Angle | undefined;
    } & {
        width?: number | undefined;
        height?: number | undefined;
        blocks?: ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            lines?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                words?: {
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                }[] | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
                orientation?: Angle | undefined;
            }[] | undefined;
            languages?: {
                languageCode?: string | undefined;
            }[] | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        }[] & ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            lines?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                words?: {
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                }[] | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
                orientation?: Angle | undefined;
            }[] | undefined;
            languages?: {
                languageCode?: string | undefined;
            }[] | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        } & {
            boundingBox?: ({
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } & {
                vertices?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                }[] & ({
                    x?: number | undefined;
                    y?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                } & Record<Exclude<keyof I["blocks"][number]["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["blocks"][number]["boundingBox"]["vertices"], keyof {
                    x?: number | undefined;
                    y?: number | undefined;
                }[]>, never>) | undefined;
            } & Record<Exclude<keyof I["blocks"][number]["boundingBox"], "vertices">, never>) | undefined;
            lines?: ({
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                words?: {
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                }[] | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
                orientation?: Angle | undefined;
            }[] & ({
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                words?: {
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                }[] | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
                orientation?: Angle | undefined;
            } & {
                boundingBox?: ({
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } & {
                    vertices?: ({
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] & ({
                        x?: number | undefined;
                        y?: number | undefined;
                    } & {
                        x?: number | undefined;
                        y?: number | undefined;
                    } & Record<Exclude<keyof I["blocks"][number]["lines"][number]["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["blocks"][number]["lines"][number]["boundingBox"]["vertices"], keyof {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["blocks"][number]["lines"][number]["boundingBox"], "vertices">, never>) | undefined;
                text?: string | undefined;
                words?: ({
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                }[] & ({
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                } & {
                    boundingBox?: ({
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } & {
                        vertices?: ({
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] & ({
                            x?: number | undefined;
                            y?: number | undefined;
                        } & {
                            x?: number | undefined;
                            y?: number | undefined;
                        } & Record<Exclude<keyof I["blocks"][number]["lines"][number]["words"][number]["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["blocks"][number]["lines"][number]["words"][number]["boundingBox"]["vertices"], keyof {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[]>, never>) | undefined;
                    } & Record<Exclude<keyof I["blocks"][number]["lines"][number]["words"][number]["boundingBox"], "vertices">, never>) | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: ({
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] & ({
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    } & {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    } & Record<Exclude<keyof I["blocks"][number]["lines"][number]["words"][number]["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["blocks"][number]["lines"][number]["words"][number]["textSegments"], keyof {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["blocks"][number]["lines"][number]["words"][number], keyof Word>, never>)[] & Record<Exclude<keyof I["blocks"][number]["lines"][number]["words"], keyof {
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                }[]>, never>) | undefined;
                textSegments?: ({
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] & ({
                    startIndex?: number | undefined;
                    length?: number | undefined;
                } & {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                } & Record<Exclude<keyof I["blocks"][number]["lines"][number]["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["blocks"][number]["lines"][number]["textSegments"], keyof {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[]>, never>) | undefined;
                orientation?: Angle | undefined;
            } & Record<Exclude<keyof I["blocks"][number]["lines"][number], keyof Line>, never>)[] & Record<Exclude<keyof I["blocks"][number]["lines"], keyof {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                words?: {
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                }[] | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
                orientation?: Angle | undefined;
            }[]>, never>) | undefined;
            languages?: ({
                languageCode?: string | undefined;
            }[] & ({
                languageCode?: string | undefined;
            } & {
                languageCode?: string | undefined;
            } & Record<Exclude<keyof I["blocks"][number]["languages"][number], "languageCode">, never>)[] & Record<Exclude<keyof I["blocks"][number]["languages"], keyof {
                languageCode?: string | undefined;
            }[]>, never>) | undefined;
            textSegments?: ({
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] & ({
                startIndex?: number | undefined;
                length?: number | undefined;
            } & {
                startIndex?: number | undefined;
                length?: number | undefined;
            } & Record<Exclude<keyof I["blocks"][number]["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["blocks"][number]["textSegments"], keyof {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["blocks"][number], keyof Block>, never>)[] & Record<Exclude<keyof I["blocks"], keyof {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            lines?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                words?: {
                    boundingBox?: {
                        vertices?: {
                            x?: number | undefined;
                            y?: number | undefined;
                        }[] | undefined;
                    } | undefined;
                    text?: string | undefined;
                    entityIndex?: number | undefined;
                    textSegments?: {
                        startIndex?: number | undefined;
                        length?: number | undefined;
                    }[] | undefined;
                }[] | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
                orientation?: Angle | undefined;
            }[] | undefined;
            languages?: {
                languageCode?: string | undefined;
            }[] | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        }[]>, never>) | undefined;
        entities?: ({
            name?: string | undefined;
            text?: string | undefined;
        }[] & ({
            name?: string | undefined;
            text?: string | undefined;
        } & {
            name?: string | undefined;
            text?: string | undefined;
        } & Record<Exclude<keyof I["entities"][number], keyof Entity>, never>)[] & Record<Exclude<keyof I["entities"], keyof {
            name?: string | undefined;
            text?: string | undefined;
        }[]>, never>) | undefined;
        tables?: ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            rowCount?: number | undefined;
            columnCount?: number | undefined;
            cells?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                rowIndex?: number | undefined;
                columnIndex?: number | undefined;
                columnSpan?: number | undefined;
                rowSpan?: number | undefined;
                text?: string | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] | undefined;
        }[] & ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            rowCount?: number | undefined;
            columnCount?: number | undefined;
            cells?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                rowIndex?: number | undefined;
                columnIndex?: number | undefined;
                columnSpan?: number | undefined;
                rowSpan?: number | undefined;
                text?: string | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] | undefined;
        } & {
            boundingBox?: ({
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } & {
                vertices?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                }[] & ({
                    x?: number | undefined;
                    y?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                } & Record<Exclude<keyof I["tables"][number]["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["tables"][number]["boundingBox"]["vertices"], keyof {
                    x?: number | undefined;
                    y?: number | undefined;
                }[]>, never>) | undefined;
            } & Record<Exclude<keyof I["tables"][number]["boundingBox"], "vertices">, never>) | undefined;
            rowCount?: number | undefined;
            columnCount?: number | undefined;
            cells?: ({
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                rowIndex?: number | undefined;
                columnIndex?: number | undefined;
                columnSpan?: number | undefined;
                rowSpan?: number | undefined;
                text?: string | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] & ({
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                rowIndex?: number | undefined;
                columnIndex?: number | undefined;
                columnSpan?: number | undefined;
                rowSpan?: number | undefined;
                text?: string | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            } & {
                boundingBox?: ({
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } & {
                    vertices?: ({
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] & ({
                        x?: number | undefined;
                        y?: number | undefined;
                    } & {
                        x?: number | undefined;
                        y?: number | undefined;
                    } & Record<Exclude<keyof I["tables"][number]["cells"][number]["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["tables"][number]["cells"][number]["boundingBox"]["vertices"], keyof {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["tables"][number]["cells"][number]["boundingBox"], "vertices">, never>) | undefined;
                rowIndex?: number | undefined;
                columnIndex?: number | undefined;
                columnSpan?: number | undefined;
                rowSpan?: number | undefined;
                text?: string | undefined;
                textSegments?: ({
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] & ({
                    startIndex?: number | undefined;
                    length?: number | undefined;
                } & {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                } & Record<Exclude<keyof I["tables"][number]["cells"][number]["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["tables"][number]["cells"][number]["textSegments"], keyof {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[]>, never>) | undefined;
            } & Record<Exclude<keyof I["tables"][number]["cells"][number], keyof TableCell>, never>)[] & Record<Exclude<keyof I["tables"][number]["cells"], keyof {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                rowIndex?: number | undefined;
                columnIndex?: number | undefined;
                columnSpan?: number | undefined;
                rowSpan?: number | undefined;
                text?: string | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["tables"][number], keyof Table>, never>)[] & Record<Exclude<keyof I["tables"], keyof {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            rowCount?: number | undefined;
            columnCount?: number | undefined;
            cells?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                rowIndex?: number | undefined;
                columnIndex?: number | undefined;
                columnSpan?: number | undefined;
                rowSpan?: number | undefined;
                text?: string | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] | undefined;
        }[]>, never>) | undefined;
        fullText?: string | undefined;
        rotate?: Angle | undefined;
    } & Record<Exclude<keyof I, keyof TextAnnotation>, never>>(object: I): TextAnnotation;
};
export declare const Entity: {
    encode(message: Entity, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Entity;
    fromJSON(object: any): Entity;
    toJSON(message: Entity): unknown;
    fromPartial<I extends {
        name?: string | undefined;
        text?: string | undefined;
    } & {
        name?: string | undefined;
        text?: string | undefined;
    } & Record<Exclude<keyof I, keyof Entity>, never>>(object: I): Entity;
};
export declare const Block: {
    encode(message: Block, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Block;
    fromJSON(object: any): Block;
    toJSON(message: Block): unknown;
    fromPartial<I extends {
        boundingBox?: {
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } | undefined;
        lines?: {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            text?: string | undefined;
            words?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                entityIndex?: number | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
            orientation?: Angle | undefined;
        }[] | undefined;
        languages?: {
            languageCode?: string | undefined;
        }[] | undefined;
        textSegments?: {
            startIndex?: number | undefined;
            length?: number | undefined;
        }[] | undefined;
    } & {
        boundingBox?: ({
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } & {
            vertices?: ({
                x?: number | undefined;
                y?: number | undefined;
            }[] & ({
                x?: number | undefined;
                y?: number | undefined;
            } & {
                x?: number | undefined;
                y?: number | undefined;
            } & Record<Exclude<keyof I["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["boundingBox"]["vertices"], keyof {
                x?: number | undefined;
                y?: number | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["boundingBox"], "vertices">, never>) | undefined;
        lines?: ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            text?: string | undefined;
            words?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                entityIndex?: number | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
            orientation?: Angle | undefined;
        }[] & ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            text?: string | undefined;
            words?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                entityIndex?: number | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
            orientation?: Angle | undefined;
        } & {
            boundingBox?: ({
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } & {
                vertices?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                }[] & ({
                    x?: number | undefined;
                    y?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                } & Record<Exclude<keyof I["lines"][number]["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["lines"][number]["boundingBox"]["vertices"], keyof {
                    x?: number | undefined;
                    y?: number | undefined;
                }[]>, never>) | undefined;
            } & Record<Exclude<keyof I["lines"][number]["boundingBox"], "vertices">, never>) | undefined;
            text?: string | undefined;
            words?: ({
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                entityIndex?: number | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] & ({
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                entityIndex?: number | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            } & {
                boundingBox?: ({
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } & {
                    vertices?: ({
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] & ({
                        x?: number | undefined;
                        y?: number | undefined;
                    } & {
                        x?: number | undefined;
                        y?: number | undefined;
                    } & Record<Exclude<keyof I["lines"][number]["words"][number]["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["lines"][number]["words"][number]["boundingBox"]["vertices"], keyof {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["lines"][number]["words"][number]["boundingBox"], "vertices">, never>) | undefined;
                text?: string | undefined;
                entityIndex?: number | undefined;
                textSegments?: ({
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] & ({
                    startIndex?: number | undefined;
                    length?: number | undefined;
                } & {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                } & Record<Exclude<keyof I["lines"][number]["words"][number]["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["lines"][number]["words"][number]["textSegments"], keyof {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[]>, never>) | undefined;
            } & Record<Exclude<keyof I["lines"][number]["words"][number], keyof Word>, never>)[] & Record<Exclude<keyof I["lines"][number]["words"], keyof {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                entityIndex?: number | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[]>, never>) | undefined;
            textSegments?: ({
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] & ({
                startIndex?: number | undefined;
                length?: number | undefined;
            } & {
                startIndex?: number | undefined;
                length?: number | undefined;
            } & Record<Exclude<keyof I["lines"][number]["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["lines"][number]["textSegments"], keyof {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[]>, never>) | undefined;
            orientation?: Angle | undefined;
        } & Record<Exclude<keyof I["lines"][number], keyof Line>, never>)[] & Record<Exclude<keyof I["lines"], keyof {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            text?: string | undefined;
            words?: {
                boundingBox?: {
                    vertices?: {
                        x?: number | undefined;
                        y?: number | undefined;
                    }[] | undefined;
                } | undefined;
                text?: string | undefined;
                entityIndex?: number | undefined;
                textSegments?: {
                    startIndex?: number | undefined;
                    length?: number | undefined;
                }[] | undefined;
            }[] | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
            orientation?: Angle | undefined;
        }[]>, never>) | undefined;
        languages?: ({
            languageCode?: string | undefined;
        }[] & ({
            languageCode?: string | undefined;
        } & {
            languageCode?: string | undefined;
        } & Record<Exclude<keyof I["languages"][number], "languageCode">, never>)[] & Record<Exclude<keyof I["languages"], keyof {
            languageCode?: string | undefined;
        }[]>, never>) | undefined;
        textSegments?: ({
            startIndex?: number | undefined;
            length?: number | undefined;
        }[] & ({
            startIndex?: number | undefined;
            length?: number | undefined;
        } & {
            startIndex?: number | undefined;
            length?: number | undefined;
        } & Record<Exclude<keyof I["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["textSegments"], keyof {
            startIndex?: number | undefined;
            length?: number | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof Block>, never>>(object: I): Block;
};
export declare const Block_DetectedLanguage: {
    encode(message: Block_DetectedLanguage, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Block_DetectedLanguage;
    fromJSON(object: any): Block_DetectedLanguage;
    toJSON(message: Block_DetectedLanguage): unknown;
    fromPartial<I extends {
        languageCode?: string | undefined;
    } & {
        languageCode?: string | undefined;
    } & Record<Exclude<keyof I, "languageCode">, never>>(object: I): Block_DetectedLanguage;
};
export declare const Line: {
    encode(message: Line, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Line;
    fromJSON(object: any): Line;
    toJSON(message: Line): unknown;
    fromPartial<I extends {
        boundingBox?: {
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } | undefined;
        text?: string | undefined;
        words?: {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            text?: string | undefined;
            entityIndex?: number | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        }[] | undefined;
        textSegments?: {
            startIndex?: number | undefined;
            length?: number | undefined;
        }[] | undefined;
        orientation?: Angle | undefined;
    } & {
        boundingBox?: ({
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } & {
            vertices?: ({
                x?: number | undefined;
                y?: number | undefined;
            }[] & ({
                x?: number | undefined;
                y?: number | undefined;
            } & {
                x?: number | undefined;
                y?: number | undefined;
            } & Record<Exclude<keyof I["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["boundingBox"]["vertices"], keyof {
                x?: number | undefined;
                y?: number | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["boundingBox"], "vertices">, never>) | undefined;
        text?: string | undefined;
        words?: ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            text?: string | undefined;
            entityIndex?: number | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        }[] & ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            text?: string | undefined;
            entityIndex?: number | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        } & {
            boundingBox?: ({
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } & {
                vertices?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                }[] & ({
                    x?: number | undefined;
                    y?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                } & Record<Exclude<keyof I["words"][number]["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["words"][number]["boundingBox"]["vertices"], keyof {
                    x?: number | undefined;
                    y?: number | undefined;
                }[]>, never>) | undefined;
            } & Record<Exclude<keyof I["words"][number]["boundingBox"], "vertices">, never>) | undefined;
            text?: string | undefined;
            entityIndex?: number | undefined;
            textSegments?: ({
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] & ({
                startIndex?: number | undefined;
                length?: number | undefined;
            } & {
                startIndex?: number | undefined;
                length?: number | undefined;
            } & Record<Exclude<keyof I["words"][number]["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["words"][number]["textSegments"], keyof {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["words"][number], keyof Word>, never>)[] & Record<Exclude<keyof I["words"], keyof {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            text?: string | undefined;
            entityIndex?: number | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        }[]>, never>) | undefined;
        textSegments?: ({
            startIndex?: number | undefined;
            length?: number | undefined;
        }[] & ({
            startIndex?: number | undefined;
            length?: number | undefined;
        } & {
            startIndex?: number | undefined;
            length?: number | undefined;
        } & Record<Exclude<keyof I["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["textSegments"], keyof {
            startIndex?: number | undefined;
            length?: number | undefined;
        }[]>, never>) | undefined;
        orientation?: Angle | undefined;
    } & Record<Exclude<keyof I, keyof Line>, never>>(object: I): Line;
};
export declare const Word: {
    encode(message: Word, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Word;
    fromJSON(object: any): Word;
    toJSON(message: Word): unknown;
    fromPartial<I extends {
        boundingBox?: {
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } | undefined;
        text?: string | undefined;
        entityIndex?: number | undefined;
        textSegments?: {
            startIndex?: number | undefined;
            length?: number | undefined;
        }[] | undefined;
    } & {
        boundingBox?: ({
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } & {
            vertices?: ({
                x?: number | undefined;
                y?: number | undefined;
            }[] & ({
                x?: number | undefined;
                y?: number | undefined;
            } & {
                x?: number | undefined;
                y?: number | undefined;
            } & Record<Exclude<keyof I["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["boundingBox"]["vertices"], keyof {
                x?: number | undefined;
                y?: number | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["boundingBox"], "vertices">, never>) | undefined;
        text?: string | undefined;
        entityIndex?: number | undefined;
        textSegments?: ({
            startIndex?: number | undefined;
            length?: number | undefined;
        }[] & ({
            startIndex?: number | undefined;
            length?: number | undefined;
        } & {
            startIndex?: number | undefined;
            length?: number | undefined;
        } & Record<Exclude<keyof I["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["textSegments"], keyof {
            startIndex?: number | undefined;
            length?: number | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof Word>, never>>(object: I): Word;
};
export declare const TextSegments: {
    encode(message: TextSegments, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TextSegments;
    fromJSON(object: any): TextSegments;
    toJSON(message: TextSegments): unknown;
    fromPartial<I extends {
        startIndex?: number | undefined;
        length?: number | undefined;
    } & {
        startIndex?: number | undefined;
        length?: number | undefined;
    } & Record<Exclude<keyof I, keyof TextSegments>, never>>(object: I): TextSegments;
};
export declare const Table: {
    encode(message: Table, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Table;
    fromJSON(object: any): Table;
    toJSON(message: Table): unknown;
    fromPartial<I extends {
        boundingBox?: {
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } | undefined;
        rowCount?: number | undefined;
        columnCount?: number | undefined;
        cells?: {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            rowIndex?: number | undefined;
            columnIndex?: number | undefined;
            columnSpan?: number | undefined;
            rowSpan?: number | undefined;
            text?: string | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        boundingBox?: ({
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } & {
            vertices?: ({
                x?: number | undefined;
                y?: number | undefined;
            }[] & ({
                x?: number | undefined;
                y?: number | undefined;
            } & {
                x?: number | undefined;
                y?: number | undefined;
            } & Record<Exclude<keyof I["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["boundingBox"]["vertices"], keyof {
                x?: number | undefined;
                y?: number | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["boundingBox"], "vertices">, never>) | undefined;
        rowCount?: number | undefined;
        columnCount?: number | undefined;
        cells?: ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            rowIndex?: number | undefined;
            columnIndex?: number | undefined;
            columnSpan?: number | undefined;
            rowSpan?: number | undefined;
            text?: string | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        }[] & ({
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            rowIndex?: number | undefined;
            columnIndex?: number | undefined;
            columnSpan?: number | undefined;
            rowSpan?: number | undefined;
            text?: string | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        } & {
            boundingBox?: ({
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } & {
                vertices?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                }[] & ({
                    x?: number | undefined;
                    y?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                } & Record<Exclude<keyof I["cells"][number]["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["cells"][number]["boundingBox"]["vertices"], keyof {
                    x?: number | undefined;
                    y?: number | undefined;
                }[]>, never>) | undefined;
            } & Record<Exclude<keyof I["cells"][number]["boundingBox"], "vertices">, never>) | undefined;
            rowIndex?: number | undefined;
            columnIndex?: number | undefined;
            columnSpan?: number | undefined;
            rowSpan?: number | undefined;
            text?: string | undefined;
            textSegments?: ({
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] & ({
                startIndex?: number | undefined;
                length?: number | undefined;
            } & {
                startIndex?: number | undefined;
                length?: number | undefined;
            } & Record<Exclude<keyof I["cells"][number]["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["cells"][number]["textSegments"], keyof {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["cells"][number], keyof TableCell>, never>)[] & Record<Exclude<keyof I["cells"], keyof {
            boundingBox?: {
                vertices?: {
                    x?: number | undefined;
                    y?: number | undefined;
                }[] | undefined;
            } | undefined;
            rowIndex?: number | undefined;
            columnIndex?: number | undefined;
            columnSpan?: number | undefined;
            rowSpan?: number | undefined;
            text?: string | undefined;
            textSegments?: {
                startIndex?: number | undefined;
                length?: number | undefined;
            }[] | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof Table>, never>>(object: I): Table;
};
export declare const TableCell: {
    encode(message: TableCell, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TableCell;
    fromJSON(object: any): TableCell;
    toJSON(message: TableCell): unknown;
    fromPartial<I extends {
        boundingBox?: {
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } | undefined;
        rowIndex?: number | undefined;
        columnIndex?: number | undefined;
        columnSpan?: number | undefined;
        rowSpan?: number | undefined;
        text?: string | undefined;
        textSegments?: {
            startIndex?: number | undefined;
            length?: number | undefined;
        }[] | undefined;
    } & {
        boundingBox?: ({
            vertices?: {
                x?: number | undefined;
                y?: number | undefined;
            }[] | undefined;
        } & {
            vertices?: ({
                x?: number | undefined;
                y?: number | undefined;
            }[] & ({
                x?: number | undefined;
                y?: number | undefined;
            } & {
                x?: number | undefined;
                y?: number | undefined;
            } & Record<Exclude<keyof I["boundingBox"]["vertices"][number], keyof Vertex>, never>)[] & Record<Exclude<keyof I["boundingBox"]["vertices"], keyof {
                x?: number | undefined;
                y?: number | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["boundingBox"], "vertices">, never>) | undefined;
        rowIndex?: number | undefined;
        columnIndex?: number | undefined;
        columnSpan?: number | undefined;
        rowSpan?: number | undefined;
        text?: string | undefined;
        textSegments?: ({
            startIndex?: number | undefined;
            length?: number | undefined;
        }[] & ({
            startIndex?: number | undefined;
            length?: number | undefined;
        } & {
            startIndex?: number | undefined;
            length?: number | undefined;
        } & Record<Exclude<keyof I["textSegments"][number], keyof TextSegments>, never>)[] & Record<Exclude<keyof I["textSegments"], keyof {
            startIndex?: number | undefined;
            length?: number | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof TableCell>, never>>(object: I): TableCell;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
export {};
