import { Cell } from '@jupyterlab/cells'; import { NotebookPanel } from '@jupyterlab/notebook'; import { ITranslator } from '@jupyterlab/translation'; import { ISignal } from '@lumino/signaling'; import { AccordionPanel, Widget, Panel, Title } from '@lumino/widgets'; import { MainAreaWidget } from '@jupyterlab/apputils'; import { SplitViewNotebookPanel } from './splitviewnotebookpanel'; import { IFailsInterceptor } from '@fails-components/jupyter-interceptor'; import { IScreenShotOpts } from '@fails-components/jupyter-launcher'; /** * A widget hosting applet views */ export declare class AppletViewOutputArea extends AccordionPanel { constructor(options: AppletViewOutputArea.IOptions); cloneCell(cell: Cell, cellid: string): Widget; getWidgetAppId(widgetid: string): string | undefined; addToObserver(appIndex: number, widget: Widget): void; removeFromObserver(appIndex: number, widget: Widget): void; addCell(appid: string, cell: Cell, cellid: string): Widget; insertCell(appid: string, index: number, cell: Cell, cellid: string): Widget | undefined; deletePart(appid: string, cellid: string): void; movePart(appid: string, cellid: string, delta: number): void; moveApp(appid: string, cellid: string, delta: number): false | undefined; saveData(): { applets: { parts: { index: number | undefined; id: string | undefined; }[]; appid: string; appname: string; }[]; }; loadData(data: any): void; addApplet({ appid, appname }: { appid: string; appname?: string; }): Panel; addPart(appidOrUndefined: string | undefined, part: AppletViewOutputArea.IAppletPart): void; firstHasIndex(index: number): boolean; selectApplet(selectedAppid: string): void; unselectApplet(): void; takeAppScreenshot(opts: IScreenShotOpts): Promise; informResize(applet: IViewApplet): void; resizeEvent(appid: string, entries: ResizeObserverEntry[], observer: ResizeObserver): void; get applets(): IViewApplet[]; /** * The index of the cell in the notebook. */ /** * The path of the notebook for the cloned output area. */ get path(): string; get viewChanged(): ISignal; set inLecture(value: boolean); handleEvent(event: Event): void; private _notebook; private _applets; private _selectedAppid; private _viewChanged; private _inLecture; private _interceptor; } /** * AppletViewOutputArea statics. */ export declare namespace AppletViewOutputArea { interface IAppletPart { /** * The cell for which to clone the output area. */ cell?: Cell; /** * The cell id to uniquely identify the cell */ id?: string; /** * The cell index if the id is not set yet */ index?: number; } interface IApplet { appid?: string; appname?: string; parts: IAppletPart[]; } interface IOptions { /** * The notebook associated with the cloned output area. */ notebook: SplitViewNotebookPanel; applets?: IApplet[]; translator?: ITranslator; interceptor?: IFailsInterceptor; } } export interface IViewPartBase extends AppletViewOutputArea.IAppletPart { added?: boolean; clone?: Widget; } export interface IViewPartSize { width: number; height: number; } export interface IViewPart extends IViewPartBase { added?: boolean; clone?: Widget; cloned: ISignal; sizes?: IViewPartSize; } export interface IViewApplet { appid: string; appname: string; parts: IViewPart[]; observer: ResizeObserver; } export interface IAppletPartOptions extends IViewPartBase { notebook: NotebookPanel; } export interface IAppletViewOutputAreasStore { [key: string]: AppletViewOutputArea; } export interface IAppletViewMainAreaWidgetStore { [key: string]: MainAreaWidget; } export declare class AppletViewOutputAreaPart implements AppletViewOutputArea.IAppletPart { constructor(args: IAppletPartOptions); /** * The index of the cell in the notebook. */ get index(): number; get cell(): Cell | undefined; set cell(value: Cell | undefined); get added(): boolean; get id(): string | undefined; set clone(value: Widget | undefined); get clone(): Widget | undefined; get path(): string; get cloned(): ISignal; private _cell; private _id; private _index; private _notebook; private _clone; private _cloned; } export declare class AppletViewRenderer extends AccordionPanel.Renderer { createSectionTitle(data: Title): HTMLElement; }