@@ -6,9 +6,16 @@ import {
66 type QwikPreloadStoreRemembered ,
77 type QwikDevtoolsComponentSnapshot ,
88 type QwikDevtoolsSignalsSnapshot ,
9+ type DevtoolsVNodeTreeNode as VNodeTreeNode ,
10+ type DevtoolsComponentDetailEntry as ComponentDetailEntry ,
11+ type DevtoolsRenderEvent as RenderEvent ,
912} from '@qwik.dev/devtools/kit' ;
1013import { isBrowser } from '@qwik.dev/core' ;
1114
15+ // The VNode/detail/render shapes are the shared data contract, owned by @qwik.dev/devtools/kit.
16+ // Re-export under the local names so feature components keep one import source and cannot drift.
17+ export type { VNodeTreeNode , ComponentDetailEntry , RenderEvent } ;
18+
1219/**
1320 * Abstraction for accessing page-level data from different contexts.
1421 *
@@ -78,30 +85,6 @@ export interface PageDataSource {
7885 subscribeRenderEvents ( cb : ( event : RenderEvent ) => void ) : ( ( ) => void ) | null ;
7986}
8087
81- /** A single render event emitted by the performance runtime. */
82- export interface RenderEvent {
83- component : string ;
84- phase : string ;
85- duration : number ;
86- timestamp : number ;
87- }
88-
89- /** A single hook entry with deeply serialized data. */
90- export interface ComponentDetailEntry {
91- hookType : string ;
92- variableName : string ;
93- data : unknown ;
94- }
95-
96- /** Serializable VNode tree node (matches overlay's TreeNode shape). */
97- export interface VNodeTreeNode {
98- name ?: string ;
99- id : string ;
100- label ?: string ;
101- props ?: Record < string , unknown > ;
102- children ?: VNodeTreeNode [ ] ;
103- }
104-
10588/**
10689 * Default implementation that reads directly from `window` globals. Used when the devtools UI runs
10790 * as an in-app overlay (same document).
0 commit comments