import { createDecorator, type ServiceIdentifier } from '#/_base/di/instantiation'; import type { Event } from '#/_base/event'; import type { CapabilityDescriptor, CapabilityInstallChange, CapabilityStatus } from './types'; export interface ICapabilityService { readonly _serviceBrand: undefined; readonly onDidChangeInstall: Event; describeCapabilities(): readonly CapabilityDescriptor[]; listCapabilities(): Promise; getCapability(id: string): Promise; installCapability(id: string): Promise; } export const ICapabilityService: ServiceIdentifier = createDecorator('capabilityService');