import { color, scale, text, xy } from '@synnaxlabs/x'; import { z } from 'zod'; import { aether } from '../../../aether/aether'; import { telem } from '../../../telem/aether'; import { theming } from '../../../theming/aether'; import { Element } from '../../diagram/aether/Diagram'; import { Draw2D } from '../../draw2d'; import { render } from '../../render'; import { staleness } from '../../staleness/aether'; export declare const GAUGE_SIZES: { readonly small: 80; readonly medium: 120; readonly large: 160; readonly huge: 200; }; export type GaugeSize = keyof typeof GAUGE_SIZES; export declare const gaugeSizeZ: z.ZodEnum<{ small: "small"; medium: "medium"; large: "large"; huge: "huge"; }>; declare const gaugeState: z.ZodObject<{ stalenessTimeout: z.ZodDefault; box: 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>; telem: z.ZodDefault>>; variant: z.ZodLiteral<"source">; valueType: z.ZodLiteral<"string">; }, z.core.$strip>>; level: z.ZodDefault>; color: z.ZodDefault, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodNumber; }, z.core.$strip>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodPipe>; }, z.core.$strip>]>, z.ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; } | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; }>>>; stalenessColor: z.ZodDefault, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodNumber; }, z.core.$strip>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodPipe>; }, z.core.$strip>]>, z.ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; } | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; }>>>; precision: z.ZodDefault; minWidth: z.ZodDefault; width: z.ZodOptional; notation: z.ZodDefault>; location: z.ZodDefault, z.ZodEnum<{ center: "center"; }>]>; y: z.ZodUnion<[z.ZodEnum<{ top: "top"; bottom: "bottom"; }>, z.ZodEnum<{ center: "center"; }>]>; }, z.core.$strip>>; units: z.ZodDefault; bounds: z.ZodDefault>; upper: z.ZodNumber | z.ZodType>; }, z.core.$strip>>; barWidth: z.ZodDefault; }, z.core.$strip>; export interface GaugeProps { scale?: scale.XY; } interface InternalState { theme: theming.Theme; render: render.Context; telem: telem.StringSource; draw2d: Draw2D; stopListening?: () => void; staleness: staleness.Registration; stale: boolean; requestRender: render.Requestor | null; textColor: color.Color; strokeColor: color.Color; gaugeStartAngle: number; gaugeEndAngle: number; gaugeAngleRange: number; outerRadius: number; innerRadius: number; labelRadius: number; labelInwardShift: number; minLabelPos: xy.XY; maxLabelPos: xy.XY; centerPos: xy.XY; valueTextPos: xy.XY; unitsTextPos: xy.XY; textLevel: text.Level; labelLevel: text.Level; } export declare class Gauge extends aether.Leaf implements Element { static readonly TYPE = "gauge"; static readonly z: z.ZodObject<{ stalenessTimeout: z.ZodDefault; box: 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>; telem: z.ZodDefault>>; variant: z.ZodLiteral<"source">; valueType: z.ZodLiteral<"string">; }, z.core.$strip>>; level: z.ZodDefault>; color: z.ZodDefault, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodNumber; }, z.core.$strip>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodPipe>; }, z.core.$strip>]>, z.ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; } | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; }>>>; stalenessColor: z.ZodDefault, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodNumber; }, z.core.$strip>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodPipe>; }, z.core.$strip>]>, z.ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; } | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; }>>>; precision: z.ZodDefault; minWidth: z.ZodDefault; width: z.ZodOptional; notation: z.ZodDefault>; location: z.ZodDefault, z.ZodEnum<{ center: "center"; }>]>; y: z.ZodUnion<[z.ZodEnum<{ top: "top"; bottom: "bottom"; }>, z.ZodEnum<{ center: "center"; }>]>; }, z.core.$strip>>; units: z.ZodDefault; bounds: z.ZodDefault>; upper: z.ZodNumber | z.ZodType>; }, z.core.$strip>>; barWidth: z.ZodDefault; }, z.core.$strip>; schema: z.ZodObject<{ stalenessTimeout: z.ZodDefault; box: 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>; telem: z.ZodDefault>>; variant: z.ZodLiteral<"source">; valueType: z.ZodLiteral<"string">; }, z.core.$strip>>; level: z.ZodDefault>; color: z.ZodDefault, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodNumber; }, z.core.$strip>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodPipe>; }, z.core.$strip>]>, z.ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; } | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; }>>>; stalenessColor: z.ZodDefault, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodNumber], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodNumber; }, z.core.$strip>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>, z.ZodObject<{ rgba255: z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt, z.ZodPipe>], null>; }, z.core.$strip>, z.ZodObject<{ r: z.ZodInt; g: z.ZodInt; b: z.ZodInt; a: z.ZodPipe>; }, z.core.$strip>]>, z.ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; } | { rgba255: [number, number, number, number]; } | { r: number; g: number; b: number; a: number; }>>>; precision: z.ZodDefault; minWidth: z.ZodDefault; width: z.ZodOptional; notation: z.ZodDefault>; location: z.ZodDefault, z.ZodEnum<{ center: "center"; }>]>; y: z.ZodUnion<[z.ZodEnum<{ top: "top"; bottom: "bottom"; }>, z.ZodEnum<{ center: "center"; }>]>; }, z.core.$strip>>; units: z.ZodDefault; bounds: z.ZodDefault>; upper: z.ZodNumber | z.ZodType>; }, z.core.$strip>>; barWidth: z.ZodDefault; }, z.core.$strip>; afterUpdate(ctx: aether.Context): void; afterDelete(): void; private requestRender; render({ viewportScale }: { viewportScale?: scale.XY | undefined; }): void; } export declare const REGISTRY: aether.ComponentRegistry; export {}; //# sourceMappingURL=gauge.d.ts.map