import type { HTMLCanvasAttributes } from "svelte/elements";
export type OrbState = "working" | "searching" | "solving" | "listening" | "connecting" | "weaving" | "composing" | "breathing" | "shaping";
/** Orb size in CSS pixels. Runtime values are clamped to 12–256. */
export type OrbSize = number;
export type OrbTheme = "auto" | "dark" | "light";
export interface ThinkingOrbProps extends Omit {
/** Which animation to show. @default "working" */
state?: OrbState;
/** Size in CSS px, clamped to 12–256. The 20 and 64px anchors are hand-tuned. @default 64 */
size?: OrbSize;
/** Theme mode; auto detects from the host project. @default "auto" */
theme?: OrbTheme;
/** CSS ink color. Overrides the color resolved from `theme`. */
color?: string;
/** Animation speed multiplier on top of the preset speed. @default 1 */
speed?: number;
/** Freeze the animation on the current frame. @default false */
paused?: boolean;
/** Render one representative frame without subscribing to the animation clock. @default false */
static?: boolean;
/** Native canvas class attribute. */
class?: string | null;
/** Native canvas inline styles, appended after the component's dimensions. */
style?: HTMLCanvasAttributes["style"];
}