/** Stable User Timing measure names emitted by VectoJS instrumentation. */ export declare const VECTO_USER_TIMING: { readonly scene: { readonly transform: 'vecto:scene:transform'; readonly drawWalk: 'vecto:scene:draw-walk'; readonly entityPaint: 'vecto:scene:entity-paint'; readonly flush: 'vecto:scene:flush'; readonly a11ySync: 'vecto:scene:a11y-sync'; }; readonly markdown: { readonly parse: 'vecto:markdown:parse'; }; }; interface TimingPerformance { now(): number; mark(name: string, options?: { startTime?: number; }): unknown; measure(name: string, startMark: string, endMark: string): unknown; clearMarks?(name?: string): void; } /** Opaque handle for one enabled User Timing interval. */ export interface VectoUserTimingSpan { readonly name: string; readonly startMark: string; readonly endMark: string; readonly performance: TimingPerformance; } /** * Begin a User Timing interval when the host implements marks and measures. * Returns `null` instead of making optional profiling a runtime requirement. */ export declare function beginVectoUserTiming(name: string): VectoUserTimingSpan | null; /** Finish a span and release its uniquely named marks. */ export declare function endVectoUserTiming(span: VectoUserTimingSpan | null): void; /** * Emit one measure for a duration accumulated from disjoint calls. * * The marks are anchored at the current time with the measured duration ending * there. This keeps one entry per frame while still reporting the sum of every * entity's paint call instead of instrumenting every entity individually. */ export declare function measureVectoUserTiming(name: string, durationMs: number): void; export {};