import { AnyExport, ILazyCanvas } from "../types";
import { Canvas, SKRSContext2D, SvgExportFlag } from "@napi-rs/canvas";
import { LayersManager } from "./managers/LayersManager";
import { RenderManager } from "./managers/RenderManager";
import { FontsManager } from "./managers/FontsManager";
import { AnimationManager } from "./managers/AnimationManager";
export declare class LazyCanvas implements ILazyCanvas {
    width: number | 0;
    height: number | 0;
    canvas: Canvas;
    ctx: SKRSContext2D;
    layers: LayersManager;
    render: RenderManager;
    fonts: FontsManager;
    animation: AnimationManager;
    exportType: AnyExport;
    constructor(debug?: boolean);
    /**
     * Set the export type
     * @param type {AnyExport} - The `export` type
     */
    setExportType(type: AnyExport): this;
    /**
     * Set the SVG export flag. This method should be called after `setExportType` method.
     * @param flag {SvgExportFlag} - The `flag` of the SVG export
     */
    setSvgExportFlag(flag: SvgExportFlag): this;
    /**
     * Create a new canvas. This method should be called before any other methods.
     * @param width {number} - The `width` of the canvas
     * @param height {number} - The `height` of the canvas
     */
    create(width: number, height: number): this;
}
