import { type IShellServer as IShellServer1 } from "tauri-api-adapter" import type { ChildProcess, CommandEvent, InternalSpawnOptions, IOPayload, SpawnOptions } from "tauri-plugin-shellx-api" import type { DenoRunConfig, IUiCustom } from "./client" export type IShellServer = IShellServer1 & { denoExecute( scriptPath: string, config: Partial & SpawnOptions, args: string[] ): Promise> denoRawSpawn( scriptPath: string, config: Partial & SpawnOptions, args: string[], cb: (evt: CommandEvent) => void ): Promise recordSpawnedProcess(pid: number): Promise whereIsCommand(command: string): Promise } // This will be implemented in the @kksh/api package export type IUiCustomServer1 = Pick< IUiCustom, "startDragging" | "toggleMaximize" | "internalToggleMaximize" > // This interface will be implemented in iframe-ext.vue where iframe is loaded and API is exposed // because these API dependes on the context of the page export type IUiCustomServer2 = Omit< IUiCustom, "registerDragRegion" | "internalToggleMaximize" | "toggleMaximize" | "startDragging" >