import type { Canvas } from '../canvas'; import { NonConstructiable } from '../foundation/non-constructible'; import { Rect } from '../math'; export type PictureVersion = '1.0.0'; export type DrawOpName = keyof Canvas; export type DrawOp = { name: DrawOpName; args?: any[]; }; export interface Picture { readonly id: number; readonly version: PictureVersion; readonly drawOps: DrawOp[]; readonly cullRect: Rect; readonly hasDrawText: boolean; } export declare class Picture extends NonConstructiable { private static nextId; static from(drawOps: DrawOp[], cullRect: Rect, hasDrawText: boolean): Picture; static playback(picture: Picture, canvas: Canvas): void; private static draw; }