import { CommandService, MessageClient } from '@theia/core/lib/common'; import { LabelProvider } from '@theia/core/lib/browser'; import { EditorManager } from '@theia/editor/lib/browser'; import { TerminalService } from '@theia/terminal/lib/browser/base/terminal-service'; import { DebugSession } from './debug-session'; import { BreakpointManager } from './breakpoint/breakpoint-manager'; import { DebugConfigurationSessionOptions, DebugSessionOptions } from './debug-session-options'; import { OutputChannelManager, OutputChannel } from '@theia/output/lib/browser/output-channel'; import { DebugPreferences } from '../common/debug-preferences'; import { ContributionProvider } from '@theia/core/lib/common/contribution-provider'; import { FileService } from '@theia/filesystem/lib/browser/file-service'; import { DebugContribution } from './debug-contribution'; import { WorkspaceService } from '@theia/workspace/lib/browser'; import { ServiceConnectionProvider } from '@theia/core/lib/browser/messaging/service-connection-provider'; import { TestService } from '@theia/test/lib/browser/test-service'; import { DebugSessionManager } from './debug-session-manager'; /** * DebugSessionContribution symbol for DI. */ export declare const DebugSessionContribution: unique symbol; /** * The [debug session](#DebugSession) contribution. * Can be used to instantiate a specific debug sessions. */ export interface DebugSessionContribution { /** * The debug type. */ debugType: string; /** * The [debug session](#DebugSession) factory. */ debugSessionFactory(): DebugSessionFactory; } /** * DebugSessionContributionRegistry symbol for DI. */ export declare const DebugSessionContributionRegistry: unique symbol; /** * Debug session contribution registry. */ export interface DebugSessionContributionRegistry { get(debugType: string): DebugSessionContribution | undefined; } export declare class DebugSessionContributionRegistryImpl implements DebugSessionContributionRegistry { protected readonly contribs: Map; protected readonly contributions: ContributionProvider; protected init(): void; get(debugType: string): DebugSessionContribution | undefined; } /** * DebugSessionFactory symbol for DI. */ export declare const DebugSessionFactory: unique symbol; /** * The [debug session](#DebugSession) factory. */ export interface DebugSessionFactory { get(manager: DebugSessionManager, sessionId: string, options: DebugSessionOptions, parentSession?: DebugSession): DebugSession; } export declare class DefaultDebugSessionFactory implements DebugSessionFactory { protected readonly connectionProvider: ServiceConnectionProvider; protected readonly terminalService: TerminalService; protected readonly editorManager: EditorManager; protected readonly breakpoints: BreakpointManager; protected readonly labelProvider: LabelProvider; protected readonly messages: MessageClient; protected readonly outputChannelManager: OutputChannelManager; protected readonly debugPreferences: DebugPreferences; protected readonly fileService: FileService; protected readonly debugContributionProvider: ContributionProvider; protected readonly testService: TestService; protected readonly workspaceService: WorkspaceService; protected commandService: CommandService; get(manager: DebugSessionManager, sessionId: string, options: DebugConfigurationSessionOptions, parentSession?: DebugSession): DebugSession; protected getTraceOutputChannel(): OutputChannel | undefined; } //# sourceMappingURL=debug-session-contribution.d.ts.map