市场夺宝奇兵
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

711 lines
20 KiB

  1. import * as vue0 from "vue";
  2. import { App, ComponentInternalInstance, ComponentOptions, Ref, SuspenseBoundary, VNode } from "vue";
  3. import * as vue_router0 from "vue-router";
  4. import { RouteLocationNormalizedLoaded, RouteRecordNormalized } from "vue-router";
  5. import { BirpcGroup, BirpcReturn } from "birpc";
  6. import { ModuleNode } from "vite";
  7. //#region src/client.d.ts
  8. declare function setDevToolsClientUrl(url: string): void;
  9. declare function getDevToolsClientUrl(): any;
  10. //#endregion
  11. //#region ../devtools-kit/src/types/app.d.ts
  12. type App$1 = any;
  13. type VueAppInstance = ComponentInternalInstance & {
  14. type: {
  15. _componentTag: string | undefined;
  16. components: Record<string, ComponentInternalInstance['type']>;
  17. __VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__: string;
  18. __isKeepAlive: boolean;
  19. devtools: {
  20. hide: boolean;
  21. };
  22. mixins: ComponentOptions[];
  23. extends: ComponentOptions;
  24. vuex: {
  25. getters: Record<string, unknown>;
  26. };
  27. computed: Record<string, unknown>;
  28. };
  29. __v_cache: Cache;
  30. __VUE_DEVTOOLS_NEXT_UID__: string;
  31. _isBeingDestroyed: boolean;
  32. _instance: VueAppInstance;
  33. _container: {
  34. _vnode: {
  35. component: VueAppInstance;
  36. };
  37. };
  38. isUnmounted: boolean;
  39. parent: VueAppInstance;
  40. appContext: {
  41. app: VueAppInstance & App$1 & {
  42. __VUE_DEVTOOLS_NEXT_APP_RECORD_ID__: string;
  43. __VUE_DEVTOOLS_NEXT_APP_RECORD__: AppRecord;
  44. };
  45. };
  46. __VUE_DEVTOOLS_NEXT_APP_RECORD__: AppRecord;
  47. suspense: SuspenseBoundary & {
  48. suspenseKey: string;
  49. };
  50. renderContext: Record<string, unknown>;
  51. devtoolsRawSetupState: Record<string, unknown>;
  52. setupState: Record<string, unknown>;
  53. provides: Record<string | symbol, unknown>;
  54. ctx: Record<string, unknown>;
  55. } & App$1;
  56. interface AppRecord {
  57. id: string;
  58. name: string;
  59. app?: App$1;
  60. version?: string;
  61. types?: Record<string, string | symbol>;
  62. instanceMap: Map<string, VueAppInstance>;
  63. perfGroupIds: Map<string, {
  64. groupId: number;
  65. time: number;
  66. }>;
  67. rootInstance: VueAppInstance;
  68. routerId?: string;
  69. iframe?: string;
  70. }
  71. //#endregion
  72. //#region ../devtools-kit/src/types/command.d.ts
  73. interface CustomCommandAction {
  74. type: 'url';
  75. /**
  76. * Url of the action, if set, execute the action will open the url
  77. */
  78. src: string;
  79. }
  80. interface CustomCommand {
  81. /**
  82. * The id of the command, should be unique
  83. */
  84. id: string;
  85. title: string;
  86. description?: string;
  87. /**
  88. * Order of the command, bigger number will be shown first
  89. * @default 0
  90. */
  91. order?: number;
  92. /**
  93. * Icon of the tab, support any Iconify icons, or a url to an image
  94. */
  95. icon?: string;
  96. /**
  97. * - action of the command
  98. * - __NOTE__: This will be ignored if `children` is set
  99. */
  100. action?: CustomCommandAction;
  101. /**
  102. * - children of action, if set, execute the action will show the children
  103. */
  104. children?: Omit<CustomCommand, 'children'>[];
  105. }
  106. //#endregion
  107. //#region ../devtools-kit/src/types/inspector.d.ts
  108. interface InspectorNodeTag {
  109. label: string;
  110. textColor: number;
  111. backgroundColor: number;
  112. tooltip?: string;
  113. }
  114. type EditStatePayload = {
  115. value: any;
  116. newKey?: string | null;
  117. remove?: undefined | false;
  118. } | {
  119. value?: undefined;
  120. newKey?: undefined;
  121. remove: true;
  122. };
  123. interface CustomInspectorNode {
  124. id: string;
  125. label: string;
  126. children?: CustomInspectorNode[];
  127. tags?: InspectorNodeTag[];
  128. name?: string;
  129. file?: string;
  130. }
  131. interface CustomInspectorState {
  132. [key: string]: (StateBase | Omit<ComponentState, 'type'>)[];
  133. }
  134. //#endregion
  135. //#region ../devtools-kit/src/types/component.d.ts
  136. type ComponentInstance = any;
  137. interface ComponentTreeNode {
  138. uid: string | number;
  139. id: string;
  140. name: string;
  141. renderKey: string | number;
  142. inactive: boolean;
  143. isFragment: boolean;
  144. hasChildren: boolean;
  145. children: ComponentTreeNode[];
  146. domOrder?: number[];
  147. consoleId?: string;
  148. isRouterView?: boolean;
  149. macthedRouteSegment?: string;
  150. tags: InspectorNodeTag[];
  151. autoOpen: boolean;
  152. meta?: any;
  153. }
  154. type ComponentBuiltinCustomStateTypes = 'function' | 'map' | 'set' | 'reference' | 'component' | 'component-definition' | 'router' | 'store';
  155. interface ComponentCustomState extends ComponentStateBase {
  156. value: CustomState;
  157. }
  158. interface StateBase {
  159. key: string;
  160. value: any;
  161. editable?: boolean;
  162. objectType?: 'ref' | 'reactive' | 'computed' | 'other';
  163. raw?: string;
  164. }
  165. interface ComponentStateBase extends StateBase {
  166. type: string;
  167. }
  168. interface ComponentPropState extends ComponentStateBase {
  169. meta?: {
  170. type: string;
  171. required: boolean;
  172. /** Vue 1 only */
  173. mode?: 'default' | 'sync' | 'once';
  174. };
  175. }
  176. interface CustomState {
  177. _custom: {
  178. type: ComponentBuiltinCustomStateTypes | string;
  179. objectType?: string;
  180. display?: string;
  181. tooltip?: string;
  182. value?: any;
  183. abstract?: boolean;
  184. file?: string;
  185. uid?: number;
  186. readOnly?: boolean;
  187. /** Configure immediate child fields */
  188. fields?: {
  189. abstract?: boolean;
  190. };
  191. id?: any;
  192. actions?: {
  193. icon: string;
  194. tooltip?: string;
  195. action: () => void | Promise<void>;
  196. }[];
  197. /** internal */
  198. _reviveId?: number;
  199. };
  200. }
  201. type ComponentState = ComponentStateBase | ComponentPropState | ComponentCustomState;
  202. interface InspectedComponentData {
  203. id: string;
  204. name: string;
  205. file: string;
  206. state: ComponentState[];
  207. functional?: boolean;
  208. }
  209. //#endregion
  210. //#region ../devtools-kit/src/ctx/hook.d.ts
  211. declare enum DevToolsV6PluginAPIHookKeys {
  212. VISIT_COMPONENT_TREE = "visitComponentTree",
  213. INSPECT_COMPONENT = "inspectComponent",
  214. EDIT_COMPONENT_STATE = "editComponentState",
  215. GET_INSPECTOR_TREE = "getInspectorTree",
  216. GET_INSPECTOR_STATE = "getInspectorState",
  217. EDIT_INSPECTOR_STATE = "editInspectorState",
  218. INSPECT_TIMELINE_EVENT = "inspectTimelineEvent",
  219. TIMELINE_CLEARED = "timelineCleared",
  220. SET_PLUGIN_SETTINGS = "setPluginSettings",
  221. }
  222. interface DevToolsV6PluginAPIHookPayloads {
  223. [DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE]: {
  224. app: App$1;
  225. componentInstance: ComponentInstance;
  226. treeNode: ComponentTreeNode;
  227. filter: string;
  228. };
  229. [DevToolsV6PluginAPIHookKeys.INSPECT_COMPONENT]: {
  230. app: App$1;
  231. componentInstance: ComponentInstance;
  232. instanceData: InspectedComponentData;
  233. };
  234. [DevToolsV6PluginAPIHookKeys.EDIT_COMPONENT_STATE]: {
  235. app: App$1;
  236. inspectorId: string;
  237. nodeId: string;
  238. path: string[];
  239. type: string;
  240. state: EditStatePayload;
  241. set: (object: any, path?: string | (string[]), value?: any, cb?: (object: any, field: string, value: any) => void) => void;
  242. };
  243. [DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE]: {
  244. app: App$1;
  245. inspectorId: string;
  246. filter: string;
  247. rootNodes: CustomInspectorNode[];
  248. };
  249. [DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE]: {
  250. app: App$1;
  251. inspectorId: string;
  252. nodeId: string;
  253. state: CustomInspectorState;
  254. };
  255. [DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE]: {
  256. app: App$1;
  257. inspectorId: string;
  258. nodeId: string;
  259. path: string[];
  260. type: string;
  261. state: EditStatePayload;
  262. set: (object: any, path?: string | (string[]), value?: any, cb?: (object: any, field: string, value: any) => void) => void;
  263. };
  264. [DevToolsV6PluginAPIHookKeys.INSPECT_TIMELINE_EVENT]: {
  265. app: App$1;
  266. layerId: string;
  267. event: TimelineEvent;
  268. all?: boolean;
  269. data: any;
  270. };
  271. [DevToolsV6PluginAPIHookKeys.TIMELINE_CLEARED]: Record<string, never>;
  272. [DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS]: {
  273. app: App$1;
  274. pluginId: string;
  275. key: string;
  276. newValue: any;
  277. oldValue: any;
  278. settings: any;
  279. };
  280. }
  281. //#endregion
  282. //#region ../devtools-kit/src/core/open-in-editor/index.d.ts
  283. interface OpenInEditorOptions {
  284. baseUrl?: string;
  285. file?: string;
  286. line?: number;
  287. column?: number;
  288. host?: string;
  289. }
  290. //#endregion
  291. //#region ../devtools-kit/src/types/router.d.ts
  292. interface RouterInfo {
  293. currentRoute: RouteLocationNormalizedLoaded | null | Record<string, any>;
  294. routes: RouteRecordNormalized[];
  295. }
  296. //#endregion
  297. //#region ../devtools-kit/src/types/tab.d.ts
  298. type TabCategory = 'pinned' | 'app' | 'modules' | 'advanced';
  299. type ModuleView = ModuleIframeView | ModuleVNodeView | ModuleSFCView;
  300. interface ModuleIframeView {
  301. /**
  302. * Iframe view
  303. */
  304. type: 'iframe';
  305. /**
  306. * Url of the iframe
  307. */
  308. src: string;
  309. /**
  310. * Persist the iframe instance even if the tab is not active
  311. *
  312. * @default true
  313. */
  314. persistent?: boolean;
  315. }
  316. interface ModuleVNodeView {
  317. /**
  318. * Vue's VNode view
  319. */
  320. type: 'vnode';
  321. /**
  322. * Send vnode to the client, they must be static and serializable
  323. */
  324. vnode: VNode;
  325. }
  326. interface ModuleSFCView {
  327. /**
  328. * SFC view
  329. */
  330. type: 'sfc';
  331. /**
  332. * SFC component
  333. */
  334. sfc: string;
  335. }
  336. interface CustomTab {
  337. /**
  338. * The name of the tab, must be unique
  339. */
  340. name: string;
  341. /**
  342. * Icon of the tab, support any Iconify icons, or a url to an image
  343. */
  344. icon?: string;
  345. /**
  346. * Title of the tab
  347. */
  348. title: string;
  349. /**
  350. * Main view of the tab
  351. */
  352. view: ModuleView;
  353. /**
  354. * Category of the tab
  355. * @default 'app'
  356. */
  357. category?: TabCategory;
  358. }
  359. //#endregion
  360. //#region ../devtools-kit/src/types/timeline.d.ts
  361. interface TimelineEvent<TData = any, TMeta = any> {
  362. time: number;
  363. data: TData;
  364. logType?: 'default' | 'warning' | 'error';
  365. meta?: TMeta;
  366. groupId?: number | string;
  367. title?: string;
  368. subtitle?: string;
  369. }
  370. //#endregion
  371. //#region ../devtools-kit/src/messaging/index.d.ts
  372. declare function getRpcClient<R, L extends object = Record<string, never>>(): BirpcReturn<R, L>;
  373. declare function getRpcServer<R, L extends object = Record<string, never>>(): BirpcGroup<R, L>;
  374. declare function getViteRpcClient<R, L extends object = Record<string, never>>(): BirpcReturn<R, L>;
  375. //#endregion
  376. //#region src/rpc/global.d.ts
  377. declare enum DevToolsMessagingEvents {
  378. INSPECTOR_TREE_UPDATED = "inspector-tree-updated",
  379. INSPECTOR_STATE_UPDATED = "inspector-state-updated",
  380. DEVTOOLS_STATE_UPDATED = "devtools-state-updated",
  381. ROUTER_INFO_UPDATED = "router-info-updated",
  382. TIMELINE_EVENT_UPDATED = "timeline-event-updated",
  383. INSPECTOR_UPDATED = "inspector-updated",
  384. ACTIVE_APP_UNMOUNTED = "active-app-updated",
  385. DESTROY_DEVTOOLS_CLIENT = "destroy-devtools-client",
  386. RELOAD_DEVTOOLS_CLIENT = "reload-devtools-client",
  387. }
  388. declare const functions: {
  389. on: (event: string, handler: Function) => void;
  390. off: (event: string, handler: Function) => void;
  391. once: (event: string, handler: Function) => void;
  392. emit: (event: string, ...args: any[]) => void;
  393. heartbeat: () => boolean;
  394. devtoolsState: () => {
  395. connected: boolean;
  396. clientConnected: boolean;
  397. vueVersion: string;
  398. tabs: CustomTab[];
  399. commands: CustomCommand[];
  400. vitePluginDetected: boolean;
  401. appRecords: {
  402. id: string;
  403. name: string;
  404. version: string | undefined;
  405. routerId: string | undefined;
  406. iframe: string | undefined;
  407. }[];
  408. activeAppRecordId: string;
  409. timelineLayersState: Record<string, boolean>;
  410. };
  411. getInspectorTree(payload: Pick<DevToolsV6PluginAPIHookPayloads[DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE], "inspectorId" | "filter">): Promise<string>;
  412. getInspectorState(payload: Pick<DevToolsV6PluginAPIHookPayloads[DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE], "inspectorId" | "nodeId">): Promise<string>;
  413. editInspectorState(payload: DevToolsV6PluginAPIHookPayloads[DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE]): Promise<void>;
  414. sendInspectorState(id: string): void;
  415. inspectComponentInspector(): Promise<string>;
  416. cancelInspectComponentInspector(): void;
  417. getComponentRenderCode(id: string): any;
  418. scrollToComponent(id: string): void;
  419. inspectDOM(id: string): void;
  420. getInspectorNodeActions(id: string): {
  421. icon: string;
  422. tooltip?: string;
  423. action: (nodeId: string) => void | Promise<void>;
  424. }[] | undefined;
  425. getInspectorActions(id: string): {
  426. icon: string;
  427. tooltip?: string;
  428. action: () => void | Promise<void>;
  429. }[] | undefined;
  430. updateTimelineLayersState(state: Record<string, boolean>): void;
  431. callInspectorNodeAction(inspectorId: string, actionIndex: number, nodeId: string): void;
  432. callInspectorAction(inspectorId: string, actionIndex: number): void;
  433. openInEditor(options: OpenInEditorOptions): void;
  434. checkVueInspectorDetected(): Promise<boolean>;
  435. enableVueInspector(): Promise<void>;
  436. toggleApp(id: string, options?: {
  437. inspectingComponent?: boolean;
  438. }): Promise<void>;
  439. updatePluginSettings(pluginId: string, key: string, value: string): void;
  440. getPluginSettings(pluginId: string): {
  441. options: Record<string, {
  442. label: string;
  443. description?: string;
  444. } & ({
  445. type: "boolean";
  446. defaultValue: boolean;
  447. } | {
  448. type: "choice";
  449. defaultValue: string | number;
  450. options: {
  451. value: string | number;
  452. label: string;
  453. }[];
  454. component?: "select" | "button-group";
  455. } | {
  456. type: "text";
  457. defaultValue: string;
  458. })> | null;
  459. values: any;
  460. };
  461. getRouterInfo(): RouterInfo;
  462. navigate(path: string): Promise<void | vue_router0.NavigationFailure | {} | undefined>;
  463. getMatchedRoutes(path: string): vue_router0.RouteRecordNormalized[];
  464. toggleClientConnected(state: boolean): void;
  465. getCustomInspector(): {
  466. id: string;
  467. label: string;
  468. logo: string;
  469. icon: string;
  470. packageName: string | undefined;
  471. homepage: string | undefined;
  472. pluginId: string;
  473. }[];
  474. getInspectorInfo(id: string): {
  475. id: string;
  476. label: string;
  477. logo: string | undefined;
  478. packageName: string | undefined;
  479. homepage: string | undefined;
  480. timelineLayers: {
  481. id: string;
  482. label: string;
  483. color: number;
  484. }[];
  485. treeFilterPlaceholder: string;
  486. stateFilterPlaceholder: string;
  487. } | undefined;
  488. highlighComponent(uid: string): Promise<any>;
  489. unhighlight(): Promise<any>;
  490. updateDevToolsClientDetected(params: Record<string, boolean>): void;
  491. initDevToolsServerListener(): void;
  492. };
  493. type RPCFunctions = typeof functions;
  494. declare const rpc: {
  495. value: ReturnType<typeof getRpcClient<RPCFunctions>>;
  496. functions: ReturnType<typeof getRpcClient<RPCFunctions>>;
  497. };
  498. declare const rpcServer: {
  499. value: ReturnType<typeof getRpcServer<RPCFunctions>>;
  500. functions: ReturnType<typeof getRpcServer<RPCFunctions>>;
  501. };
  502. declare function onRpcConnected(callback: () => void): void;
  503. declare function onRpcSeverReady(callback: () => void): void;
  504. //#endregion
  505. //#region src/rpc/types.d.ts
  506. type AssetType = 'image' | 'font' | 'video' | 'audio' | 'text' | 'json' | 'wasm' | 'other';
  507. interface AssetInfo {
  508. path: string;
  509. type: AssetType;
  510. publicPath: string;
  511. relativePath: string;
  512. filePath: string;
  513. size: number;
  514. mtime: number;
  515. }
  516. interface ImageMeta {
  517. width: number;
  518. height: number;
  519. orientation?: number;
  520. type?: string;
  521. mimeType?: string;
  522. }
  523. type AssetImporter = Pick<ModuleNode, 'url' | 'id'>;
  524. interface AssetEntry {
  525. path: string;
  526. content: string;
  527. encoding?: BufferEncoding;
  528. override?: boolean;
  529. }
  530. interface CodeSnippet {
  531. code: string;
  532. lang: string;
  533. name: string;
  534. docs?: string;
  535. }
  536. interface ModuleInfo {
  537. id: string;
  538. plugins: {
  539. name: string;
  540. transform?: number;
  541. resolveId?: number;
  542. }[];
  543. deps: string[];
  544. virtual: boolean;
  545. }
  546. //#endregion
  547. //#region src/rpc/vite.d.ts
  548. declare const viteRpcFunctions: {
  549. on: (event: string, handler: Function) => void;
  550. off: (event: string, handler: Function) => void;
  551. once: (event: string, handler: Function) => void;
  552. emit: (event: string, ...args: any[]) => void;
  553. heartbeat: () => boolean;
  554. };
  555. type ViteRPCFunctions = typeof viteRpcFunctions & {
  556. getStaticAssets: () => Promise<AssetInfo[]>;
  557. getAssetImporters: (url: string) => Promise<AssetImporter[]>;
  558. getImageMeta: (filepath: string) => Promise<ImageMeta>;
  559. getTextAssetContent: (filepath: string, limit?: number) => Promise<string>;
  560. getRoot: () => Promise<string>;
  561. getGraphModules: () => Promise<ModuleInfo[]>;
  562. };
  563. declare const viteRpc: {
  564. value: ReturnType<typeof getViteRpcClient<ViteRPCFunctions>>;
  565. functions: ReturnType<typeof getViteRpcClient<ViteRPCFunctions>>;
  566. };
  567. declare function onViteRpcConnected(callback: () => void): void;
  568. declare function createViteClientRpc(): void;
  569. declare function createViteServerRpc(functions: Record<string, any>): void;
  570. //#endregion
  571. //#region src/vue-plugin/devtools-state.d.ts
  572. interface DevToolsState {
  573. connected: boolean;
  574. clientConnected: boolean;
  575. vueVersion: string;
  576. tabs: CustomTab[];
  577. commands: CustomCommand[];
  578. vitePluginDetected: boolean;
  579. appRecords: AppRecord[];
  580. activeAppRecordId: string;
  581. timelineLayersState: Record<string, boolean>;
  582. }
  583. type DevToolsRefState = { [P in keyof DevToolsState]: Ref<DevToolsState[P]> };
  584. declare function VueDevToolsVuePlugin(): {
  585. install(app: App): void;
  586. };
  587. declare function createDevToolsStateContext(): {
  588. getDevToolsState: () => void;
  589. connected: Ref<boolean, boolean>;
  590. clientConnected: Ref<boolean, boolean>;
  591. vueVersion: Ref<string, string>;
  592. tabs: Ref<{
  593. name: string;
  594. icon?: string | undefined;
  595. title: string;
  596. view: {
  597. type: "iframe";
  598. src: string;
  599. persistent?: boolean | undefined;
  600. } | {
  601. type: "vnode";
  602. vnode: vue0.VNode;
  603. } | {
  604. type: "sfc";
  605. sfc: string;
  606. };
  607. category?: ("app" | "pinned" | "modules" | "advanced") | undefined;
  608. }[], CustomTab[] | {
  609. name: string;
  610. icon?: string | undefined;
  611. title: string;
  612. view: {
  613. type: "iframe";
  614. src: string;
  615. persistent?: boolean | undefined;
  616. } | {
  617. type: "vnode";
  618. vnode: vue0.VNode;
  619. } | {
  620. type: "sfc";
  621. sfc: string;
  622. };
  623. category?: ("app" | "pinned" | "modules" | "advanced") | undefined;
  624. }[]>;
  625. commands: Ref<{
  626. id: string;
  627. title: string;
  628. description?: string | undefined;
  629. order?: number | undefined;
  630. icon?: string | undefined;
  631. action?: {
  632. type: "url";
  633. src: string;
  634. } | undefined;
  635. children?: {
  636. title: string;
  637. icon?: string | undefined;
  638. id: string;
  639. description?: string | undefined;
  640. order?: number | undefined;
  641. action?: {
  642. type: "url";
  643. src: string;
  644. } | undefined;
  645. }[] | undefined;
  646. }[], CustomCommand[] | {
  647. id: string;
  648. title: string;
  649. description?: string | undefined;
  650. order?: number | undefined;
  651. icon?: string | undefined;
  652. action?: {
  653. type: "url";
  654. src: string;
  655. } | undefined;
  656. children?: {
  657. title: string;
  658. icon?: string | undefined;
  659. id: string;
  660. description?: string | undefined;
  661. order?: number | undefined;
  662. action?: {
  663. type: "url";
  664. src: string;
  665. } | undefined;
  666. }[] | undefined;
  667. }[]>;
  668. vitePluginDetected: Ref<boolean, boolean>;
  669. appRecords: Ref<{
  670. id: string;
  671. name: string;
  672. app?: App$1;
  673. version?: string | undefined;
  674. types?: Record<string, string | symbol> | undefined;
  675. instanceMap: Map<string, any> & Omit<Map<string, any>, keyof Map<any, any>>;
  676. perfGroupIds: Map<string, {
  677. groupId: number;
  678. time: number;
  679. }> & Omit<Map<string, {
  680. groupId: number;
  681. time: number;
  682. }>, keyof Map<any, any>>;
  683. rootInstance: VueAppInstance;
  684. routerId?: string | undefined;
  685. iframe?: string | undefined;
  686. }[], AppRecord[] | {
  687. id: string;
  688. name: string;
  689. app?: App$1;
  690. version?: string | undefined;
  691. types?: Record<string, string | symbol> | undefined;
  692. instanceMap: Map<string, any> & Omit<Map<string, any>, keyof Map<any, any>>;
  693. perfGroupIds: Map<string, {
  694. groupId: number;
  695. time: number;
  696. }> & Omit<Map<string, {
  697. groupId: number;
  698. time: number;
  699. }>, keyof Map<any, any>>;
  700. rootInstance: VueAppInstance;
  701. routerId?: string | undefined;
  702. iframe?: string | undefined;
  703. }[]>;
  704. activeAppRecordId: Ref<string, string>;
  705. timelineLayersState: Ref<Record<string, boolean>, Record<string, boolean>>;
  706. };
  707. declare function useDevToolsState(): DevToolsRefState;
  708. declare function onDevToolsConnected(fn: () => void): () => void;
  709. declare function refreshCurrentPageData(): void;
  710. //#endregion
  711. export { AssetEntry, AssetImporter, AssetInfo, AssetType, CodeSnippet, DevToolsMessagingEvents, ImageMeta, ModuleInfo, RPCFunctions, ViteRPCFunctions, VueDevToolsVuePlugin, createDevToolsStateContext, createViteClientRpc, createViteServerRpc, functions, getDevToolsClientUrl, onDevToolsConnected, onRpcConnected, onRpcSeverReady, onViteRpcConnected, refreshCurrentPageData, rpc, rpcServer, setDevToolsClientUrl, useDevToolsState, viteRpc, viteRpcFunctions };