import { Command, CommandService, Disposable, Emitter, Event, URI } from '@theia/core'; import { StorageService } from '@theia/core/lib/browser'; import { NotebookKernelSourceAction } from '../../common'; import { NotebookModel } from '../view-model/notebook-model'; import { NotebookService } from './notebook-service'; export interface SelectedNotebookKernelChangeEvent { notebook: URI; oldKernel: string | undefined; newKernel: string | undefined; } export interface NotebookKernelMatchResult { readonly selected: NotebookKernel | undefined; readonly suggestions: NotebookKernel[]; readonly all: NotebookKernel[]; readonly hidden: NotebookKernel[]; } export interface NotebookKernelChangeEvent { label?: true; description?: true; detail?: true; supportedLanguages?: true; hasExecutionOrder?: true; hasInterruptHandler?: true; } export interface NotebookKernel { readonly id: string; readonly viewType: string; readonly onDidChange: Event>; readonly extensionId: string; readonly localResourceRoot: URI; readonly preloadUris: URI[]; readonly preloadProvides: string[]; readonly handle: number; label: string; description?: string; detail?: string; supportedLanguages: string[]; implementsInterrupt?: boolean; implementsExecutionOrder?: boolean; executeNotebookCellsRequest(uri: URI, cellHandles: number[]): Promise; cancelNotebookCellExecution(uri: URI, cellHandles: number[]): Promise; } export declare const enum ProxyKernelState { Disconnected = 1, Connected = 2, Initializing = 3 } export interface INotebookProxyKernelChangeEvent extends NotebookKernelChangeEvent { connectionState?: true; } export interface NotebookTextModelLike { uri: URI; viewType: string; } declare class KernelInfo { protected static instanceCounter: number; score: number; readonly kernel: NotebookKernel; readonly handle: number; constructor(kernel: NotebookKernel); } export interface NotebookSourceActionChangeEvent { notebook?: URI; viewType: string; } export interface KernelSourceActionProvider { readonly viewType: string; onDidChangeSourceActions?: Event; provideKernelSourceActions(): Promise; } export declare class SourceCommand implements Disposable { readonly command: Command; readonly model: NotebookTextModelLike; execution: Promise | undefined; protected readonly onDidChangeStateEmitter: Emitter; readonly onDidChangeState: Event; constructor(command: Command, model: NotebookTextModelLike); run(commandService: CommandService): Promise; protected runCommand(commandService: CommandService): Promise; dispose(): void; } export declare class NotebookKernelService { protected notebookService: NotebookService; protected storageService: StorageService; protected readonly kernels: Map; protected notebookBindings: Record; protected readonly kernelDetectionTasks: Map; protected readonly onDidChangeKernelDetectionTasksEmitter: Emitter; readonly onDidChangeKernelDetectionTasks: Event; protected readonly onDidChangeSourceActionsEmitter: Emitter; protected readonly kernelSourceActionProviders: Map; readonly onDidChangeSourceActions: Event; protected readonly onDidAddKernelEmitter: Emitter; readonly onDidAddKernel: Event; protected readonly onDidRemoveKernelEmitter: Emitter; readonly onDidRemoveKernel: Event; protected readonly onDidChangeSelectedNotebookKernelBindingEmitter: Emitter; readonly onDidChangeSelectedKernel: Event; protected readonly onDidChangeNotebookAffinityEmitter: Emitter; readonly onDidChangeNotebookAffinity: Event; init(): void; registerKernel(kernel: NotebookKernel): Disposable; /** * Helps to find the best matching kernel for a notebook. * @param notebook notebook to get the matching kernel for * @returns and object containing: * all kernels sorted to match the notebook best first (affinity ascending, score descending, label)) * the selected kernel (if any) * specific suggested kernels (if any) * hidden kernels (if any) */ getMatchingKernel(notebook: NotebookTextModelLike): NotebookKernelMatchResult; getSelectedNotebookKernel(notebook: NotebookTextModelLike): NotebookKernel | undefined; selectKernelForNotebook(kernel: NotebookKernel | undefined, notebook: NotebookTextModelLike): void; getSelectedOrSuggestedKernel(notebook: NotebookModel): NotebookKernel | undefined; getKernel(id: string): NotebookKernel | undefined; protected static score(kernel: NotebookKernel, notebook: NotebookTextModelLike): number; protected tryAutoBindNotebook(notebook: NotebookModel, onlyThisKernel?: NotebookKernel): void; registerNotebookKernelDetectionTask(notebookType: string): Disposable; getKernelDetectionTasks(notebook: NotebookTextModelLike): string[]; registerKernelSourceActionProvider(viewType: string, provider: KernelSourceActionProvider): Disposable; getKernelSourceActionsFromProviders(notebook: NotebookTextModelLike): Promise; } export {}; //# sourceMappingURL=notebook-kernel-service.d.ts.map