import { NotebookKernelsExt, NotebookKernelSourceActionDto, PluginModel } from '../../common';
import { RPCProtocol } from '../../common/rpc-protocol';
import { UriComponents } from '../../common/uri-components';
import { Disposable } from '@theia/core';
import { NotebooksExtImpl } from './notebooks';
import { NotebookCellExecutionState } from '@theia/notebook/lib/common';
import { CommandRegistryImpl } from '../command-registry';
import { NotebookRendererScript } from '../types-impl';
import type * as theia from '@theia/plugin';
export declare class NotebookKernelsExtImpl implements NotebookKernelsExt {
    private readonly notebooks;
    private readonly commands;
    private readonly activeExecutions;
    private readonly kernelData;
    private readonly proxy;
    private kernelDetectionTasks;
    private currentKernelDetectionTaskHandle;
    private kernelSourceActionProviders;
    private currentSourceActionProviderHandle;
    private readonly onDidChangeCellExecutionStateEmitter;
    readonly onDidChangeNotebookCellExecutionState: import("@theia/core").Event<theia.NotebookCellExecutionStateChangeEvent>;
    constructor(rpc: RPCProtocol, notebooks: NotebooksExtImpl, commands: CommandRegistryImpl);
    private currentHandle;
    createNotebookController(extension: PluginModel, id: string, viewType: string, label: string, handler?: (cells: theia.NotebookCell[], notebook: theia.NotebookDocument, controller: theia.NotebookController) => void | Thenable<void>, rendererScripts?: NotebookRendererScript[]): theia.NotebookController;
    createNotebookCellExecution(cell: theia.NotebookCell, controllerId: string): theia.NotebookCellExecution;
    createNotebookControllerDetectionTask(viewType: string): theia.NotebookControllerDetectionTask;
    registerKernelSourceActionProvider(viewType: string, provider: theia.NotebookKernelSourceActionProvider): Disposable;
    $acceptNotebookAssociation(handle: number, uri: UriComponents, value: boolean): Promise<void>;
    $executeCells(handle: number, uri: UriComponents, handles: number[]): Promise<void>;
    $cancelCells(handle: number, uri: UriComponents, handles: number[]): Promise<void>;
    $acceptKernelMessageFromRenderer(handle: number, editorId: string, message: unknown): void;
    $cellExecutionChanged(uri: UriComponents, cellHandle: number, state: NotebookCellExecutionState | undefined): void;
    $provideKernelSourceActions(handle: number, token: theia.CancellationToken): Promise<NotebookKernelSourceActionDto[]>;
}
export declare function createKernelId(extensionIdentifier: string, id: string): string;
//# sourceMappingURL=notebook-kernels.d.ts.map