import * as React from '@theia/core/shared/react'; import { DebugProtocol } from '@vscode/debugprotocol/lib/debugProtocol'; import URI from '@theia/core/lib/common/uri'; import { CommandService } from '@theia/core/lib/common'; import { LabelProvider, OpenerService, TreeWidget } from '@theia/core/lib/browser'; import { TreeElement } from '@theia/core/lib/browser/source-tree'; import { BaseBreakpoint } from '../breakpoint/breakpoint-marker'; import { BreakpointManager } from '../breakpoint/breakpoint-manager'; export interface DebugBreakpointOptions { readonly labelProvider: LabelProvider; readonly breakpoints: BreakpointManager; readonly openerService: OpenerService; readonly commandService: CommandService; } export declare class DebugBreakpointDecoration { readonly className: string; readonly message: string[]; } export type BPCapabilities = Required>; export interface BPSessionData extends BPCapabilities, DebugProtocol.Breakpoint { sessionId: string; } export declare abstract class DebugBreakpoint implements TreeElement { readonly uri: URI; readonly labelProvider: LabelProvider; readonly breakpoints: BreakpointManager; readonly openerService: OpenerService; readonly commandService: CommandService; protected _raw?: BPSessionData; protected readonly sessionData: Map; protected treeWidget?: TreeWidget; constructor(uri: URI, options: DebugBreakpointOptions); abstract get origin(): T; get raw(): BPSessionData | undefined; update(sessionId: string, data?: Omit): boolean; getIdForSession(sessionId: string): number | undefined; /** Copied from https://github.com/microsoft/vscode/blob/8934b59d4aa696b6f51ac9bf2eeae8bbac5dac03/src/vs/workbench/contrib/debug/common/debugModel.ts#L953-L971 */ getDebugProtocolBreakpoint(sessionId: string): DebugProtocol.Breakpoint | undefined; get id(): string; get enabled(): boolean; /** * True when at least one session has sent data for this breakpoint * (regardless of whether it was verified). */ get installed(): boolean; /** * When resolved session data exists, reflects the adapter's answer. * Otherwise returns `true`: either no session has weighed in yet (we * haven't been told otherwise) or multiple sessions verified at * different locations (`_raw` was cleared to fall back to the user-set * position). Matches VSCode's default-true semantics. */ get verified(): boolean; get message(): string; abstract setEnabled(enabled: boolean): void; abstract remove(): void; protected readonly setBreakpointEnabled: (event: React.ChangeEvent) => void; render(host: TreeWidget): React.ReactNode; protected isEnabled(): boolean; protected abstract doRender(): React.ReactNode; getDecoration(): DebugBreakpointDecoration; protected getUnverifiedBreakpointDecoration(): DebugBreakpointDecoration; protected getDisabledBreakpointDecoration(message?: string): DebugBreakpointDecoration; protected doGetDecoration(messages?: string[]): DebugBreakpointDecoration; protected abstract getBreakpointDecoration(message?: string[]): DebugBreakpointDecoration; protected selectInTree(): Promise; } //# sourceMappingURL=debug-breakpoint.d.ts.map