/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ type RunFunction = ((debugSession: IDebugSession) => IDisposable) | ((debugSession: IDebugSession) => Promise); interface IDebugSession { name: string; eval(expression: string): Promise; evalJs(bodyFn: (...args: T) => void, ...args: T): Promise; } interface IDisposable { dispose(): void; } interface GlobalThisAddition extends globalThis { $hotReload_applyNewExports?(oldExports: Record): AcceptNewExportsFn | undefined; } type AcceptNewExportsFn = (newExports: Record) => boolean;