import { DebuggerDescription, DebugService, DynamicDebugConfigurationProvider } from '@theia/debug/lib/common/debug-service'; import { Emitter, Event } from '@theia/core'; import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable'; import { DebugConfiguration } from '@theia/debug/lib/common/debug-configuration'; import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema'; import { PluginDebugAdapterContribution } from './plugin-debug-adapter-contribution'; import { PluginDebugConfigurationProvider } from './plugin-debug-configuration-provider'; import { WebSocketConnectionProvider } from '@theia/core/lib/browser/messaging/ws-connection-provider'; import { WorkspaceService } from '@theia/workspace/lib/browser'; import { CommandIdVariables } from '@theia/variable-resolver/lib/common/variable-types'; import { DebuggerContribution } from '../../../common/plugin-protocol'; import { DebugRequestTypes } from '@theia/debug/lib/browser/debug-session-connection'; import * as theia from '@theia/plugin'; /** * Debug service to work with plugin and extension contributions. */ export declare class PluginDebugService implements DebugService { protected readonly onDidChangeDebuggersEmitter: Emitter; get onDidChangeDebuggers(): Event; protected readonly debuggers: DebuggerContribution[]; protected readonly contributors: Map; protected readonly configurationProviders: Map; protected readonly toDispose: DisposableCollection; protected readonly dynamicDebugConfigsFromManifests: Map; protected readonly onDidChangeDebugConfigurationProvidersEmitter: Emitter; get onDidChangeDebugConfigurationProviders(): Event; protected readonly sessionId2contrib: Map; protected delegated: DebugService; protected readonly connectionProvider: WebSocketConnectionProvider; protected readonly workspaceService: WorkspaceService; protected init(): void; registerDebugAdapterContribution(contrib: PluginDebugAdapterContribution): Disposable; unregisterDebugAdapterContribution(debugType: string): void; fireOnDidConfigurationProvidersChanged: import("lodash").DebouncedFunc<() => void>; registerDebugConfigurationProvider(provider: PluginDebugConfigurationProvider): Disposable; unregisterDebugConfigurationProvider(handle: number): void; debugTypes(): Promise; provideDebugConfigurations(debugType: keyof DebugRequestTypes, workspaceFolderUri: string | undefined): Promise; fetchDynamicDebugConfiguration(name: string, providerType: string, folder?: string): Promise; /** * Registers a dynamic debug configuration type discovered from a plugin manifest. * This allows showing provider types in the dropdown before the extension has activated. */ registerDynamicDebugConfigurationType(type: string, label: string): Disposable; /** * Returns dynamic debug configuration providers grouped by label. * Each entry contains a label and all the types that share that label. * Includes both registered providers and types discovered from plugin manifests. */ getDynamicDebugConfigurationProviders(): DynamicDebugConfigurationProvider[]; /** * Returns the types of dynamic debug configuration providers. * @deprecated Use getDynamicDebugConfigurationProviders() instead for proper label support. */ getDynamicDebugConfigurationProviderTypes(): string[]; /** * Gets the label for a debugger type. */ protected getDebuggerLabel(type: string): string | undefined; provideDynamicDebugConfigurations(folder?: string): Promise>; /** * Provides dynamic debug configurations for a specific provider type only. * This is more efficient than provideDynamicDebugConfigurations when you only * need configurations for a single type. */ provideDynamicDebugConfigurationsByType(type: string, folder?: string): Promise; resolveDebugConfiguration(config: DebugConfiguration, workspaceFolderUri: string | undefined): Promise; resolveDebugConfigurationWithSubstitutedVariables(config: DebugConfiguration, workspaceFolderUri: string | undefined): Promise; protected resolveDebugConfigurationByResolversChain(config: DebugConfiguration, workspaceFolderUri: string | undefined, resolvers: ((folder: string | undefined, debugConfiguration: DebugConfiguration) => Promise)[]): Promise; registerDebugger(contribution: DebuggerContribution): Disposable; provideDebuggerVariables(debugType: string): Promise; getDebuggersForLanguage(language: string): Promise; getSchemaAttributes(debugType: string): Promise; protected resolveSchemaAttributes(type: string, configurationAttributes: { [request: string]: IJSONSchema; }): IJSONSchema[]; getConfigurationSnippets(): Promise; createDebugSession(config: DebugConfiguration, workspaceFolder: string | undefined): Promise; terminateDebugSession(sessionId: string): Promise; dispose(): void; } //# sourceMappingURL=plugin-debug-service.d.ts.map