///
import { DataPersistenceProvider } from "flow-connect";
import { Node, NodeOptions, SerializedVector, SerializedNode } from "flow-connect/core";
import { Display, Toggle } from "flow-connect/ui";
export declare class FunctionPlotter extends Node {
displayHeight: number;
display: Display;
polarToggle: Toggle;
plotStyle: PlotStyle;
points: SerializedVector[];
static DefaultState: any;
constructor();
protected setupIO(): void;
protected created(options: FunctionPlotterOptions): void;
protected process(inputs: any[]): void;
setupUI(): void;
setupListeners(): void;
gridRenderer(context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, width: number, height: number): boolean;
xCoordToPix(config: any, width: number, xCoord: number): number;
yCoordToPix(config: any, height: number, yCoord: number): number;
xPixToCoord(config: any, width: number, xPix: number): any;
yPixToCoord(config: any, height: number, yPix: number): any;
drawLine(context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, x1: number, y1: number, x2: number, y2: number): void;
getGridPointDist(min: number, max: number, factor: number): number;
drawGrid(context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, width: number, height: number): void;
functionRenderer(context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, width: number, height: number): void;
serialize(persist?: DataPersistenceProvider): Promise;
}
export interface PlotStyle {
axisColor?: string;
gridColor?: string;
plotColor?: string;
}
export interface FunctionPlotterOptions extends NodeOptions {
plotStyle: PlotStyle;
displayHeight: number;
}
export interface SerializedFunctionPlotterNode extends SerializedNode {
displayHeight: number;
}