import type { Cursor, CanvasConfig as GCanvasConfig, IChildNode } from '@antv/g'; import { Canvas as GCanvas } from '@antv/g'; import { Renderer as CanvasRenderer } from '@antv/g-canvas'; import type { CanvasOptions } from '../spec/canvas'; import type { CanvasLayer, Point } from '../types'; export interface CanvasConfig extends Pick { /** * 渲染器 * * renderer */ renderer?: CanvasOptions['renderer']; /** * 是否启用多图层 * * Whether to enable multiple layers * @defaultValue true * @remarks * 非动态参数,仅在初始化时生效 * * Non-dynamic parameters, only take effect during initialization */ enableMultiLayer?: boolean; } export interface DataURLOptions { /** * 导出模式 * - viewport: 导出视口内容 * - overall: 导出整个画布 * * export mode * - viewport: export the content of the viewport * - overall: export the entire canvas */ mode?: 'viewport' | 'overall'; /** * 图片类型 * * image type * @defaultValue 'image/png' */ type: 'image/png' | 'image/jpeg' | 'image/webp' | 'image/bmp'; /** * 图片质量, 仅对 image/jpeg 和 image/webp 有效,取值范围 0 ~ 1 * * image quality, only valid for image/jpeg and image/webp, range 0 ~ 1 */ encoderOptions: number; } export declare class Canvas { private extends; private config; getConfig(): CanvasConfig; getLayer(layer?: CanvasLayer): GCanvas; /** * 获取所有图层 * * Get all layers * @returns 图层 Layer */ getLayers(): Record; /** * 获取渲染器 * * Get renderer * @param layer - 图层 Layer * @returns 渲染器 Renderer */ getRenderer(layer: CanvasLayer): CanvasRenderer; /** * 获取相机 * * Get camera * @param layer - 图层 Layer * @returns 相机 Camera */ getCamera(layer?: CanvasLayer): import("@antv/g").ICamera; getRoot(layer?: CanvasLayer): import("@antv/g").Group; getContextService(layer?: CanvasLayer): import("@antv/g").ContextService; setCursor(cursor: Cursor): void; get document(): import("@antv/g").Document; get context(): import("@antv/g").CanvasContext; constructor(config: CanvasConfig); get ready(): Promise; resize(width: number, height: number): void; /** * 获取画布边界 * * Get canvas boundary * @param group * 元素分组 * - undefined: 获取整个画布边界 * - 'elements': 仅获取元素边界 * - 'plugins': 仅获取插件边界 * * Element group * - undefined: Get the entire canvas boundary * - 'elements': Get only the element boundary * - 'plugins': Get only the plugin boundary * @returns 边界 Boundary */ getBounds(group?: 'elements' | 'plugins'): import("@antv/g").AABB; getContainer(): HTMLElement | null; getSize(): [number, number]; appendChild(child: T, index?: number): T; setRenderer(renderer: CanvasOptions['renderer']): void; getCanvasByViewport(point: Point): Point; getViewportByCanvas(point: Point): Point; getViewportByClient(point: Point): Point; getClientByViewport(point: Point): Point; getClientByCanvas(point: Point): Point; getCanvasByClient(point: Point): Point; toDataURL(options?: Partial): Promise; destroy(): void; }