import { GradientObject } from './graphic/Gradient'; import { PatternObject } from './graphic/Pattern'; import { Dictionary } from './core/types'; // interface PainterOption { // width?: number | string // Can be 10 / 10px / auto // height?: number | string // } export interface PainterBase { type: string // root will be undefined if ssr is true root?: HTMLElement // If ssr only ssrOnly?: boolean // constructor(dom: HTMLElement, storage: Storage, opts: PainterOption, id: number): void resize(width?: number | string, height?: number | string): void refresh(): void clear(): void // must be given if ssr is true. renderToString?(): string; getType: () => string getWidth(): number getHeight(): number dispose(): void getViewportRoot: () => HTMLElement getViewportRootOffset: () => {offsetLeft: number, offsetTop: number} refreshHover(): void configLayer(zlevel: number, config: Dictionary): void setBackgroundColor(backgroundColor: string | GradientObject | PatternObject): void }