import { Num, PathResolver, Shape as PenroseShape, PenroseState, Result, Value } from "@penrose/core"; import { HTMLHandler } from "mathjax-full/js/handlers/html/HTMLHandler.js"; import { Color, Shape, ShapeProps } from "./types.js"; export declare const fromPenroseColor: (colorV: Value.ColorV) => Color; export declare const toPenroseColor: (color: Color) => Value.Color; export declare const toPenroseShape: (shape: Partial & Required>, base?: Partial>) => PenroseShape; export declare const fromPenroseShape: (penroseShape: PenroseShape, base?: Partial) => Shape; export declare const sortShapes: (shapes: PenroseShape[], partialLayering: [string, string][]) => PenroseShape[]; export declare class CallbackLooper { private messageChannel?; private messageChannelPromise?; private messageChannelResolve?; private activeId; private running; private queuer; constructor(loopType: "MessageChannel" | "AnimationFrame"); setPromiseAndResolve: () => void; loop: (callback: () => Promise) => void; isRunning: () => boolean; stop: () => void; } export declare const stateToSVG: (state: PenroseState, config: { pathResolver: PathResolver; texLabels: boolean; titleCache?: Map; /** Unique per diagram so SVG ids (markers, clipPaths) do not collide across diagrams. */ namespace: string; }) => Promise; export declare const mathjaxInitWithHandler: () => { convert: (input: string) => Result; handler: HTMLHandler; }; export declare const setNoFillIfTransparent: (shape: SVGElement) => void; export { makeCanvas as canvas } from "@penrose/core"; //# sourceMappingURL=utils.d.ts.map