src/vs/workbench/api/browser/mainThreadNotebook.ts/MainThreadNotebooks/$registerNotebookSerializer
class MainThreadNotebooks:	$registerNotebookSerializer(handle: number, extension: NotebookExtensionDescription, viewType: string, options: TransientOptions, data: INotebookContributionData | undefined): void {
		const registration = this._notebookService.registerNotebookSerializer(viewType, extension, {
			options,
			dataToNotebook: async (data: VSBuffer): Promise<NotebookData> => {
				const dto = await this._proxy.$dataToNotebook(handle, data, CancellationToken.None);
				return NotebookDto.fromNotebookDataDto(dto);
			},
			notebookToData: (data: NotebookData): Promise<VSBuffer> => {
				return this._proxy.$notebookToData(handle, NotebookDto.toNotebookDataDto(data), CancellationToken.None);
			}
		});
		const disposables = new DisposableStore();
		disposables.add(registration);
		if (data) {
			disposables.add(this._notebookService.registerContributedNotebookType(viewType, data));
		}
		this._notebookSerializer.set(handle, disposables);
	}