import { CSSProperties } from 'vue'; import { PhysicsMotionSource, PhysicsMotionVariant } from './types'; export interface PhysicsNode { tag: string; part?: string; attrs?: Record; style?: CSSProperties; text?: '$content' | '$north' | '$south'; children?: PhysicsNode[]; } export interface PhysicsTrack { part: string; duration: number; delay: number; frames: Keyframe[]; } export interface PhysicsScene { source: PhysicsMotionSource; nodes: PhysicsNode[]; tracks: PhysicsTrack[]; coveredAt?: number; } export declare const accent = "var(--tx-physics-accent, var(--tx-color-primary, #409eff))"; export declare const soft = "color-mix(in srgb, var(--tx-physics-accent, var(--tx-color-primary, #409eff)) 60%, var(--tx-bg-color, #ffffff))"; export declare const strong = "color-mix(in srgb, var(--tx-physics-accent, var(--tx-color-primary, #409eff)) 70%, var(--tx-text-color-primary, #303133))"; export declare const paper = "var(--tx-bg-color, #ffffff)"; export declare const muted = "var(--tx-fill-color-dark, #dcdfe6)"; export declare const ink = "var(--tx-text-color-primary, #303133)"; export declare const line = "var(--tx-border-color, #dcdfe6)"; export declare const ring = "inset 0 0 0 1px var(--tx-border-color, #dcdfe6)"; export declare const foldEase = "cubic-bezier(0.65, 0, 0.35, 1)"; /** Resolved by TxPhysicsMotion through the library spring compiler at playback. */ export declare const springEase = "spring"; export declare function box(part: string, x: number, y: number, width: number, height: number, fill?: string, radius?: string | number, style?: CSSProperties, children?: PhysicsNode[]): PhysicsNode; export declare function group(part: string, x: number, y: number, width: number, height: number, children: PhysicsNode[], style?: CSSProperties): PhysicsNode; export declare function dot(part: string, x: number, y: number, size: number, fill?: string, style?: CSSProperties): PhysicsNode; export declare function text(part: string, x: number, y: number, width: number, height: number, value: PhysicsNode['text'], fill?: string): PhysicsNode; export declare function svg(width: number, height: number, viewBox: string, children: PhysicsNode[]): PhysicsNode; export declare function stroke(tag: string, part: string, attrs: Record, fill?: string, thickness?: number): PhysicsNode; export declare function track(part: string, duration: number, offsets: number[], values: string[], property?: string, easing?: string, delay?: number): PhysicsTrack; export declare function multi(part: string, duration: number, frames: Keyframe[], easing?: string, delay?: number): PhysicsTrack; export declare function unfold(part: string, open: string, closed?: string, period?: number, easing?: string, delay?: number): PhysicsTrack; export declare function defineScene(variant: PhysicsMotionVariant, symbol: string, file: string, period: number, behavior: string, nodes: PhysicsNode[], tracks: PhysicsTrack[], coveredAt?: number): PhysicsScene;