import * as dom from "@codingame/monaco-vscode-api/vscode/vs/base/browser/dom"; import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { ScrollEvent } from "@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable"; import { ICodeEditor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser"; import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service"; import { IDiffEditorOptions } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/config/editorOptions"; import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service"; import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service"; import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { InspectSubject } from "./testResultsSubject.js"; export interface IPeekOutputRenderer extends IDisposable { readonly onDidContentSizeChange?: Event; onScrolled?(evt: ScrollEvent): void; /** Updates the displayed test. Should clear if it cannot display the test. */ update(subject: InspectSubject): Promise; /** Recalculate content layout. Returns the height it should be rendered at. */ layout(dimension: dom.IDimension, hasMultipleFrames: boolean): number | undefined; /** Dispose the content provider. */ dispose(): void; } export declare class DiffContentProvider extends Disposable implements IPeekOutputRenderer { private readonly editor; private readonly container; private readonly instantiationService; private readonly modelService; private readonly configurationService; private readonly widget; private readonly model; private dimension?; private helper?; get onDidContentSizeChange(): Event; constructor(editor: ICodeEditor | undefined, container: HTMLElement, instantiationService: IInstantiationService, modelService: ITextModelService, configurationService: IConfigurationService); update(subject: InspectSubject): Promise; private clear; layout(dimensions: dom.IDimension, hasMultipleFrames: boolean): number | undefined; onScrolled(evt: ScrollEvent): void; protected getOptions(isMultiline: boolean): IDiffEditorOptions; } export declare class MarkdownTestMessagePeek extends Disposable implements IPeekOutputRenderer { private readonly container; private readonly markdownRendererService; private readonly rendered; private element?; constructor(container: HTMLElement, markdownRendererService: IMarkdownRendererService); update(subject: InspectSubject): Promise; layout(dimension: dom.IDimension): number | undefined; private clear; } export declare class PlainTextMessagePeek extends Disposable implements IPeekOutputRenderer { private readonly editor; private readonly container; private readonly instantiationService; private readonly modelService; private readonly configurationService; private readonly widgetDecorations; private readonly widget; private readonly model; private dimension?; private helper?; get onDidContentSizeChange(): Event; constructor(editor: ICodeEditor | undefined, container: HTMLElement, instantiationService: IInstantiationService, modelService: ITextModelService, configurationService: IConfigurationService); update(subject: InspectSubject): Promise; private clear; onScrolled(evt: ScrollEvent): void; layout(dimensions: dom.IDimension, hasMultipleFrames: boolean): number | undefined; } export declare class TerminalMessagePeek extends Disposable implements IPeekOutputRenderer { private readonly container; private readonly isInPeekView; private readonly terminalService; private readonly viewDescriptorService; private readonly workspaceContext; private dimensions?; private readonly terminalCwd; private readonly xtermLayoutDelayer; /** Active terminal instance. */ private readonly terminal; /** Listener for streaming result data */ private readonly outputDataListener; constructor(container: HTMLElement, isInPeekView: boolean, terminalService: ITerminalService, viewDescriptorService: IViewDescriptorService, workspaceContext: IWorkspaceContextService); private makeTerminal; update(subject: InspectSubject): Promise; private updateForTestSubject; private updateForTaskSubject; private updateGenerically; private updateCwd; private writeNotice; private attachTerminalToDom; private clear; layout(dimensions: dom.IDimension): number | undefined; private layoutTerminal; }