import { scale } from '@synnaxlabs/x'; import { z } from 'zod'; import { aether } from '../../../aether/aether'; import { status } from '../../../status/aether'; import { render } from '../../render'; export declare const diagramStateZ: z.ZodObject<{ position: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; zoom: z.ZodNumber; region: z.ZodObject<{ one: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; two: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; root: z.ZodObject<{ x: z.ZodEnum<{ left: "left"; right: "right"; }>; y: z.ZodEnum<{ top: "top"; bottom: "bottom"; }>; }, z.core.$strip>; }, z.core.$strip>; clearOverScan: z.ZodDefault, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ signedWidth: z.ZodNumber; signedHeight: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ clientX: z.ZodNumber; clientY: z.ZodNumber; }, z.core.$strip>]>>; visible: z.ZodDefault; autoRenderInterval: z.ZodOptional; }, z.core.$strip>; interface ElementProps { viewportScale?: scale.XY; } export interface Element extends aether.Component { render?: (props: ElementProps) => void; } interface InternalState { renderCtx: render.Context; viewportScale: scale.XY; handleError: status.ErrorHandler; autoRenderInterval: ReturnType; } export declare class Diagram extends aether.Composite { static readonly TYPE = "Diagram"; static readonly stateZ: z.ZodObject<{ position: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; zoom: z.ZodNumber; region: z.ZodObject<{ one: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; two: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; root: z.ZodObject<{ x: z.ZodEnum<{ left: "left"; right: "right"; }>; y: z.ZodEnum<{ top: "top"; bottom: "bottom"; }>; }, z.core.$strip>; }, z.core.$strip>; clearOverScan: z.ZodDefault, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ signedWidth: z.ZodNumber; signedHeight: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ clientX: z.ZodNumber; clientY: z.ZodNumber; }, z.core.$strip>]>>; visible: z.ZodDefault; autoRenderInterval: z.ZodOptional; }, z.core.$strip>; schema: z.ZodObject<{ position: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; zoom: z.ZodNumber; region: z.ZodObject<{ one: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; two: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; root: z.ZodObject<{ x: z.ZodEnum<{ left: "left"; right: "right"; }>; y: z.ZodEnum<{ top: "top"; bottom: "bottom"; }>; }, z.core.$strip>; }, z.core.$strip>; clearOverScan: z.ZodDefault, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ signedWidth: z.ZodNumber; signedHeight: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ clientX: z.ZodNumber; clientY: z.ZodNumber; }, z.core.$strip>]>>; visible: z.ZodDefault; autoRenderInterval: z.ZodOptional; }, z.core.$strip>; afterUpdate(ctx: aether.Context): void; afterDelete(): void; render(): render.Cleanup | undefined; private requestRender; } export declare const REGISTRY: { Diagram: typeof Diagram; }; export {}; //# sourceMappingURL=Diagram.d.ts.map