import * as Blockly from "blockly";
import { PathObject } from "./pathObject";
import { ConstantProvider } from "./constants";
import { BlockStyle } from "blockly/core/theme";
import { RenderInfo } from "./info";
import { Drawer } from "./drawer";
export interface UpdateBeforeRenderMixin {
    updateBeforeRender(): void;
}
export declare class Renderer extends Blockly.zelos.Renderer {
    makePathObject(root: SVGElement, style: BlockStyle): PathObject;
    protected makeConstants_(): ConstantProvider;
    protected makeRenderInfo_(block: Blockly.BlockSvg): RenderInfo;
    protected makeDrawer_(block: Blockly.BlockSvg, info: Blockly.blockRendering.RenderInfo): Drawer;
    render(block: Blockly.BlockSvg): void;
}
