import { color, CrudeTimeSpan, destructor } from '@synnaxlabs/x'; import { CSSProperties, DetailedHTMLProps, HTMLAttributes, PropsWithChildren, ReactElement, Ref } from 'react'; import { z } from 'zod'; import { Aether } from '../aether'; import { lineplot } from './aether'; import { Viewport } from '../viewport'; import { grid } from '../vis/grid'; type HTMLDivProps = DetailedHTMLProps, HTMLDivElement>; export interface ContextValue { id: string; setGridEntry: (meta: grid.Region) => void; removeGridEntry: (key: string) => void; setLine: (meta: LineSpec) => void; removeLine: (key: string) => void; lines: LineSpec[]; setViewport: (viewport: Viewport.UseEvent) => void; addViewportHandler: (handler: Viewport.UseHandler) => destructor.Destructor; setHold: (hold: boolean) => void; loading: boolean; loadingMessage?: string; } declare const useContext: (hookOrComponentName: string) => ContextValue; export { useContext }; export declare const useViewport: (handle: Viewport.UseHandler, component: string) => void; export declare const useGridEntry: (meta: grid.Region, component: string) => CSSProperties; export interface LineSpec { key: string; legendGroup: string; color: color.Crude; label: string; visible: boolean; } /** Ref handle exposed by Frame for imperative access */ export interface FrameRef { /** Returns the current bounds for all axes */ getBounds: () => Promise; } export interface FrameProps extends PropsWithChildren, Partial, "clearOverScan" | "hold" | "visible">>, Omit, Aether.ComponentProps { resizeDebounce?: CrudeTimeSpan; onHold?: (hold: boolean) => void; loadingMessage?: string; ref?: Ref; } export declare const Frame: ({ aetherKey, style, resizeDebounce: debounce, clearOverScan, children, hold, onHold, visible, loadingMessage, ref, ...rest }: FrameProps) => ReactElement; //# sourceMappingURL=Frame.d.ts.map