import * as React from '@theia/core/shared/react'; import { CellKind } from '../../common'; import { NotebookCellModel } from '../view-model/notebook-cell-model'; import { NotebookModel } from '../view-model/notebook-model'; import { NotebookCellToolbarFactory } from './notebook-cell-toolbar-factory'; import { CommandRegistry, DisposableCollection, MenuModelRegistry } from '@theia/core'; import { NotebookContextManager } from '../service/notebook-context-manager'; import { NotebookViewModel } from '../view-model/notebook-view-model'; export interface CellRenderer { render(notebookData: NotebookModel, cell: NotebookCellModel, index: number): React.ReactNode; renderSidebar(notebookModel: NotebookModel, cell: NotebookCellModel): React.ReactNode; renderDragImage(cell: NotebookCellModel): HTMLElement; } export declare function observeCellHeight(ref: HTMLDivElement | null, cell: NotebookCellModel): void; interface CellListProps { renderers: Map; notebookModel: NotebookModel; notebookViewModel: NotebookViewModel; notebookContext: NotebookContextManager; toolbarRenderer: NotebookCellToolbarFactory; commandRegistry: CommandRegistry; menuRegistry: MenuModelRegistry; } interface NotebookCellListState { selectedCell?: NotebookCellModel; scrollIntoView: boolean; dragOverIndicator: { cell: NotebookCellModel; position: 'top' | 'bottom'; } | undefined; } export declare class NotebookCellListView extends React.Component { protected toDispose: DisposableCollection; protected static dragGhost: HTMLElement | undefined; protected cellListRef: React.RefObject; constructor(props: CellListProps); componentWillUnmount(): void; render(): React.ReactNode; renderCellContent(cell: NotebookCellModel, index: number): React.ReactNode; renderCellSidebar(cell: NotebookCellModel): React.ReactNode; protected onDragStart(event: React.DragEvent): void; protected onDragOver(event: React.DragEvent, cell: NotebookCellModel, position?: 'top' | 'bottom'): void; protected isEnabled(): boolean; protected onDrop(event: React.DragEvent, dropElementIndex: number): void; protected onAddNewCell(handler: (...args: unknown[]) => void, index: number): void; protected shouldRenderDragOverIndicator(cell: NotebookCellModel, position: 'top' | 'bottom'): boolean; } export interface NotebookCellDividerProps { isVisible: () => boolean; onAddNewCell: (createCommand: (...args: unknown[]) => void) => void; onDrop: (event: React.DragEvent) => void; onDragOver: (event: React.DragEvent) => void; menuRegistry: MenuModelRegistry; } export declare function NotebookCellDivider({ isVisible, onAddNewCell, onDrop, onDragOver, menuRegistry }: NotebookCellDividerProps): React.JSX.Element; export {}; //# sourceMappingURL=notebook-cell-list-view.d.ts.map