import type { IBoundsLike } from '@visactor/vutils';
import type { IColor, Stage } from '@visactor/vrender-core';
import type { IViewOptions, IView, IViewEventConfig } from '../types';
import type { IRenderer } from '../types/renderer';
import type { Gesture } from '@visactor/vrender-kits';
export default class CanvasRenderer implements IRenderer {
    private _width;
    private _height;
    private _view;
    private _viewOptions;
    private _eventConfig;
    private _stage;
    private _layer;
    private _dragController;
    private _gestureController;
    private _viewBox;
    constructor(view: IView);
    initialize(width: number, height: number, options: IViewOptions, eventConfig: IViewEventConfig): this;
    stage(): Stage;
    gestureController(): Gesture;
    canvas(): any;
    context(): any;
    combineIncrementalLayers(): this;
    background(color: IColor): this;
    setDpr(resolution: number, redraw: boolean): this;
    shouldResize(width: number, height: number): boolean;
    resize(width: number, height: number): this;
    setViewBox(viewBox: IBoundsLike, rerender?: boolean): this;
    render(immediately?: boolean): this;
    renderNextFrame(): this;
    toCanvas(): HTMLCanvasElement;
    preventRender(tag: boolean): void;
    release(): void;
    private createStage;
    private initStage;
    private handleAfterNextRender;
}
