import type { CoreNode } from '../../CoreNode.js'; import type { Stage } from '../../Stage.js'; import { CoreShaderNode, type CoreShaderType } from '../CoreShaderNode.js'; export type CanvasShaderType, C extends object = Record> = CoreShaderType & { render: (this: CanvasShaderNode, ctx: CanvasRenderingContext2D, node: CoreNode, renderContext: () => void) => void; update?: (this: CanvasShaderNode, node: CoreNode) => void; /** * Set this to true when using ctx functions that scale, clip, rotate, etc.. */ saveAndRestore?: boolean; }; export declare class CanvasShaderNode, Computed extends object = Record> extends CoreShaderNode { private updater; private valueKey; computed: Partial; applySNR: boolean; render: CanvasShaderType['render']; constructor(shaderKey: string, config: CanvasShaderType, stage: Stage, props?: Props); toColorString(rgba: number): string; }