| import Layer, { LayerConfig } from './Layer'; | 
| import Displayable from '../graphic/Displayable'; | 
| import { GradientObject } from '../graphic/Gradient'; | 
| import { ImagePatternObject } from '../graphic/Pattern'; | 
| import Storage from '../Storage'; | 
| import { PainterBase } from '../PainterBase'; | 
| interface CanvasPainterOption { | 
|     devicePixelRatio?: number; | 
|     width?: number | string; | 
|     height?: number | string; | 
|     useDirtyRect?: boolean; | 
| } | 
| export default class CanvasPainter implements PainterBase { | 
|     type: string; | 
|     root: HTMLElement; | 
|     dpr: number; | 
|     storage: Storage; | 
|     private _singleCanvas; | 
|     private _opts; | 
|     private _zlevelList; | 
|     private _prevDisplayList; | 
|     private _layers; | 
|     private _layerConfig; | 
|     private _needsManuallyCompositing; | 
|     private _width; | 
|     private _height; | 
|     private _domRoot; | 
|     private _hoverlayer; | 
|     private _redrawId; | 
|     private _backgroundColor; | 
|     constructor(root: HTMLElement, storage: Storage, opts: CanvasPainterOption, id: number); | 
|     getType(): string; | 
|     isSingleCanvas(): boolean; | 
|     getViewportRoot(): HTMLElement; | 
|     getViewportRootOffset(): { | 
|         offsetLeft: number; | 
|         offsetTop: number; | 
|     }; | 
|     refresh(paintAll?: boolean): this; | 
|     refreshHover(): void; | 
|     private _paintHoverList; | 
|     getHoverLayer(): Layer; | 
|     paintOne(ctx: CanvasRenderingContext2D, el: Displayable): void; | 
|     private _paintList; | 
|     private _compositeManually; | 
|     private _doPaintList; | 
|     private _doPaintEl; | 
|     getLayer(zlevel: number, virtual?: boolean): Layer; | 
|     insertLayer(zlevel: number, layer: Layer): void; | 
|     eachLayer<T>(cb: (this: T, layer: Layer, z: number) => void, context?: T): void; | 
|     eachBuiltinLayer<T>(cb: (this: T, layer: Layer, z: number) => void, context?: T): void; | 
|     eachOtherLayer<T>(cb: (this: T, layer: Layer, z: number) => void, context?: T): void; | 
|     getLayers(): { | 
|         [key: number]: Layer; | 
|     }; | 
|     _updateLayerStatus(list: Displayable[]): void; | 
|     clear(): this; | 
|     _clearLayer(layer: Layer): void; | 
|     setBackgroundColor(backgroundColor: string | GradientObject | ImagePatternObject): void; | 
|     configLayer(zlevel: number, config: LayerConfig): void; | 
|     delLayer(zlevel: number): void; | 
|     resize(width?: number | string, height?: number | string): this; | 
|     clearLayer(zlevel: number): void; | 
|     dispose(): void; | 
|     getRenderedCanvas(opts?: { | 
|         backgroundColor?: string | GradientObject | ImagePatternObject; | 
|         pixelRatio?: number; | 
|     }): HTMLCanvasElement; | 
|     getWidth(): number; | 
|     getHeight(): number; | 
| } | 
| export {}; |