/*--------------------------------------------------------------------------------------------- * 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 { $hotReload_applyNewExports?(args: { oldExports: Record; newSrc: string }): AcceptNewExportsFn | undefined; } type AcceptNewExportsFn = (newExports: Record) => boolean;