@sheetxl/models
Version:
Models - A Headless javascript spreadsheet library.
49 lines • 1.73 kB
TypeScript
import { Size } from "@sheetxl/common";
import { ISharedResource } from "../resource";
import { IDrawingModel, AddDrawingOptions, DrawingShapeJSON } from "./IDrawingModel";
import { AbstractDrawing, AnchoredDrawingOptions } from './DrawingModel';
export interface AddDrawingImageOptions extends AddDrawingOptions<DrawingImageJSON> {
}
export interface DrawingImageJSON extends DrawingShapeJSON {
}
export interface ReferenceImageJSON extends DrawingImageJSON {
/**
* The resource id for the image. The actual image data is stored in the resource.
*/
resId?: number;
}
export interface IDrawingImageDetails {
/**
* Return the mimeType
*/
mimeType: string;
naturalSize: Size;
asUrl: string;
/**
* For SVG Text
*/
asSVGText?: string;
}
export interface IDrawingImageModel extends IDrawingModel<DrawingImageJSON> {
/**
* Return a local object URL for placing in an image tag.
*/
details(): Promise<IDrawingImageDetails>;
}
/**
* The Drawing model for Images.
*/
export declare class DrawingImageModel extends AbstractDrawing<DrawingImageJSON> implements IDrawingImageModel {
private _resource;
private _details;
private _dataUrl;
constructor(options: AnchoredDrawingOptions);
protected _drawingTypeDescription(): string;
protected _asDataUrl(): Promise<string>;
toImage(): Promise<Blob>;
details(): Promise<IDrawingImageDetails>;
protected _fromDrawingJSON(drawing: ReferenceImageJSON, fromResourceId?: (id: number) => ISharedResource): void;
protected _toDrawingJSON(toResourceId?: (resource: ISharedResource) => number): ReferenceImageJSON;
close(): void;
}
//# sourceMappingURL=DrawingImageModel.d.ts.map