/** A picture shape: the BLIP store index it references plus its cell anchor. */ export interface EscherPicture { /** 1-based index into the BLIP store (the OPT `pib` property). */ readonly blipIndex: number; readonly anchor?: EscherAnchor; } /** A from/to two-cell anchor (each cell index a u16, each offset 1/1024 of the cell). */ export interface EscherAnchor { readonly col1: number; readonly row1: number; readonly col2: number; readonly row2: number; readonly dx1: number; readonly dy1: number; readonly dx2: number; readonly dy2: number; } /** * Read the workbook-globals MSODrawingGroup's BLIP store: one entry per BSE (so a * `pib` index lines up), holding the extracted image bytes — or `undefined` for * an entry we cannot read (a metafile blip, an empty slot), which keeps the * indices aligned. * * @param msoDrawingGroup The concatenated MSODrawingGroup record bytes. * @returns The image pool, indexed so `pib − 1` selects an entry. */ export declare function parseBlipStore(msoDrawingGroup: Uint8Array): Array; /** * The picture shapes in a sheet's MSODrawing: every SpContainer that carries a * `pib` (a picture-fill reference into the BLIP store) with its cell anchor. */ export declare function parseSheetPictures(msoDrawing: Uint8Array): Array; /** * A non-picture drawing shape: its preset type (MSOSPT), cell anchor, fill/line * colours (when literal RGB) and whether it carries a text box. */ export interface EscherShape { /** The MSOSPT preset shape type (the Sp record's instance). */ readonly shapeType: number; /** Whether the shape carries a client text box. */ readonly hasText: boolean; readonly anchor?: EscherAnchor; readonly fillColorHex?: string; readonly lineColorHex?: string; } /** * The non-picture shapes (autoshapes, text boxes) in a sheet's MSODrawing — every * SpContainer that is NOT a picture (no `pib`). Pictures are handled separately * by {@link parseSheetPictures}. */ export declare function parseSheetShapes(msoDrawing: Uint8Array): Array;