import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; 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 { IObservable, ISettableObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable"; import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { ICodeEditor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; export declare class CallStackFrame { readonly name: string; readonly source?: URI | undefined; readonly line: number; readonly column: number; constructor(name: string, source?: URI | undefined, line?: number, column?: number); } export declare class SkippedCallFrames { readonly label: string; readonly load: (token: CancellationToken) => Promise; constructor(label: string, load: (token: CancellationToken) => Promise); } export declare abstract class CustomStackFrame { readonly showHeader: ISettableObservable; abstract readonly height: IObservable; abstract readonly label: string; icon?: ThemeIcon; abstract render(container: HTMLElement): IDisposable; renderActions?(container: HTMLElement): IDisposable; } export type AnyStackFrame = SkippedCallFrames | CallStackFrame | CustomStackFrame; /** * A reusable widget that displays a call stack as a series of editors. Note * that this both used in debug's exception widget as well as in the testing * call stack view. */ export declare class CallStackWidget extends Disposable { private readonly list; private readonly layoutEmitter; private readonly currentFramesDs; private cts?; get onDidChangeContentHeight(): Event; get onDidScroll(): Event; get contentHeight(): number; constructor(container: HTMLElement, containingEditor: ICodeEditor | undefined, instantiationService: IInstantiationService); /** Replaces the call frames display in the view. */ setFrames(frames: AnyStackFrame[]): void; layout(height?: number, width?: number): void; collapseAll(): void; private loadFrame; private mapFrames; } export declare const CALL_STACK_WIDGET_HEADER_HEIGHT = 24;