/// import ExifReader from 'exifreader'; import { ImageRegion, RoleFilter, ShapeFilter, Vertex } from './ImageRegion'; export { ImageRegion, RoleFilter, ShapeFilter, Vertex }; /** * Size of an image in pixels. */ export interface Size { /** * Image width in pixels. */ width: number; /** * Image height in pixels. */ height: number; } /** * Parses the XMP metadata of an image, relevant for Image Display Control, i.e. * mostly the image regions, see * https://iptc.org/std/photometadata/specification/IPTC-PhotoMetadata#image-region */ export declare class Parser { /** * @param buffer The image file content. */ constructor(buffer: Buffer | ArrayBuffer); /** * Returns XMP IDC metadata in a format similar to what this web-component * expects: https://github.com/Frameright/image-display-control-web-component * * @param shapeFilter Can be used to retrieve only regions of a specific * shape, e.g. 'rectangle'. * @param roleFilter Can be used to retrieve only regions of a specific kind * of role, e.g. 'crop'. * @param essentialOnly If true, only essential region properties will be * returned, e.g. properties like `types` and `roles` * will be skipped. */ getIdcMetadata(shapeFilter?: ShapeFilter, roleFilter?: RoleFilter, essentialOnly?: boolean): ImageRegion[]; /** * Dumps all XMP metadata. * * @return An instance of * [ExifReader.XmpTags](https://github.com/mattiasw/ExifReader/blob/main/exif-reader.d.ts#L121) */ getXmpMetadata(): ExifReader.XmpTags; /** * Returns the size of the image in pixels. * * @note Caches the result in `this._size` for future calls. */ getSize(): Size; private static _xmpEntityOrConceptsToStringArray; private static _xmpEntityOrConceptToStringArray; private static _xmpAltOrBagToStringArray; private static _xmpStringToNumber; private _xmpRegionToImageRegion; private _buffer; private _xmpMetadata; private _size; }