import { TreeModelImpl, CompositeTreeNode, SelectableTreeNode, TreeNode } from '@theia/core/lib/browser'; import { Emitter } from '@theia/core'; import { TerminalManagerTreeTypes, SpecialPageConfig } from './terminal-manager-types'; export declare class TerminalManagerTreeModel extends TreeModelImpl { activePageNode: TerminalManagerTreeTypes.PageNode | undefined; activeGroupNode: TerminalManagerTreeTypes.TerminalGroupNode | undefined; activeTerminalNode: TerminalManagerTreeTypes.TerminalNode | undefined; protected onDidChangeTreeSelectionEmitter: Emitter; readonly onDidChangeTreeSelection: import("@theia/core").Event; protected onDidAddPageEmitter: Emitter<{ pageId: TerminalManagerTreeTypes.PageId; terminalKey: TerminalManagerTreeTypes.TerminalKey; }>; readonly onDidAddPage: import("@theia/core").Event<{ pageId: TerminalManagerTreeTypes.PageId; terminalKey: TerminalManagerTreeTypes.TerminalKey; }>; protected onDidDeletePageEmitter: Emitter<`page-${string}`>; readonly onDidDeletePage: import("@theia/core").Event<`page-${string}`>; protected onDidRenameNodeEmitter: Emitter; readonly onDidRenameNode: import("@theia/core").Event; protected onDidAddTerminalGroupEmitter: Emitter<{ groupId: TerminalManagerTreeTypes.GroupId; pageId: TerminalManagerTreeTypes.PageId; terminalKey: TerminalManagerTreeTypes.TerminalKey; }>; readonly onDidAddTerminalGroup: import("@theia/core").Event<{ groupId: TerminalManagerTreeTypes.GroupId; pageId: TerminalManagerTreeTypes.PageId; terminalKey: TerminalManagerTreeTypes.TerminalKey; }>; protected onDidDeleteTerminalGroupEmitter: Emitter<`group-${string}`>; readonly onDidDeleteTerminalGroup: import("@theia/core").Event<`group-${string}`>; protected onDidAddTerminalToGroupEmitter: Emitter<{ terminalId: TerminalManagerTreeTypes.TerminalKey; groupId: TerminalManagerTreeTypes.GroupId; }>; readonly onDidAddTerminalToGroup: import("@theia/core").Event<{ terminalId: TerminalManagerTreeTypes.TerminalKey; groupId: TerminalManagerTreeTypes.GroupId; }>; protected onDidDeleteTerminalFromGroupEmitter: Emitter<{ terminalId: TerminalManagerTreeTypes.TerminalKey; groupId: TerminalManagerTreeTypes.GroupId; }>; readonly onDidDeleteTerminalFromGroup: import("@theia/core").Event<{ terminalId: TerminalManagerTreeTypes.TerminalKey; groupId: TerminalManagerTreeTypes.GroupId; }>; protected readonly specialPageConfigs: Map; protected init(): void; /** * Register the default special pages. Subclasses can override this to * add, remove, or replace entries before the model is used. */ protected configureSpecialPages(): void; registerSpecialPage(kind: string, config: SpecialPageConfig): void; getSpecialPageConfig(kind: string): SpecialPageConfig | undefined; getSpecialPageConfigs(): ReadonlyMap; addTerminalPage(terminalKey: TerminalManagerTreeTypes.TerminalKey, groupId: TerminalManagerTreeTypes.GroupId, pageId: TerminalManagerTreeTypes.PageId, label?: string): void; protected createPageNode(pageId: TerminalManagerTreeTypes.PageId): TerminalManagerTreeTypes.PageNode; protected getNextPageCounter(): number; deleteTerminalPage(pageId: TerminalManagerTreeTypes.PageId): void; addTerminalGroup(terminalKey: TerminalManagerTreeTypes.TerminalKey, groupId: TerminalManagerTreeTypes.GroupId, pageId: TerminalManagerTreeTypes.PageId, label?: string): void; protected createGroupNode(groupId: TerminalManagerTreeTypes.GroupId, pageId: TerminalManagerTreeTypes.PageId): TerminalManagerTreeTypes.TerminalGroupNode; protected getNextGroupCounterForPage(pageId: TerminalManagerTreeTypes.PageId): number; deleteTerminalGroup(groupId: TerminalManagerTreeTypes.GroupId): void; protected doDeleteTerminalGroup(group: TerminalManagerTreeTypes.TerminalGroupNode, page: TerminalManagerTreeTypes.PageNode): void; addTerminal(newTerminalId: TerminalManagerTreeTypes.TerminalKey, groupId: TerminalManagerTreeTypes.GroupId, label?: string): void; createTerminalNode(terminalId: TerminalManagerTreeTypes.TerminalKey, groupId: TerminalManagerTreeTypes.GroupId, label?: string): TerminalManagerTreeTypes.TerminalNode; deleteTerminalNode(terminalId: TerminalManagerTreeTypes.TerminalKey): void; protected doDeleteTerminalNode(node: TerminalManagerTreeTypes.TerminalNode, parent: TerminalManagerTreeTypes.TerminalGroupNode): void; toggleRenameTerminal(entityId: TerminalManagerTreeTypes.TerminalManagerValidId): void; acceptRename(nodeId: string, newName: string): void; handleSelectionChanged(selectedNode: SelectableTreeNode): void; get pages(): Map; getPageIdForTerminal(terminalKey: TerminalManagerTreeTypes.TerminalKey): TerminalManagerTreeTypes.PageId | undefined; selectTerminalNode(terminalKey: TerminalManagerTreeTypes.TerminalKey): void; updateTerminalLabel(terminalKey: TerminalManagerTreeTypes.TerminalKey, newLabel: string): void; protected refreshWithSelection(refreshTarget?: CompositeTreeNode, selectionTarget?: SelectableTreeNode): Promise; protected findSelection(start?: TreeNode): SelectableTreeNode | undefined; /** * Get or create a page by ID. If a special page config exists for this ID, * its label is used; otherwise an auto-numbered label is generated. * * An existing page is only reused if it is currently attached to the root * of the tree. A page that has been detached (e.g., because its last * terminal was removed) is treated as missing and recreated. */ protected getOrCreatePage(pageId: TerminalManagerTreeTypes.PageId): { page: TerminalManagerTreeTypes.PageNode; isNewlyCreated: boolean; }; protected createSpecialPageNode(pageId: TerminalManagerTreeTypes.PageId, label: string): TerminalManagerTreeTypes.PageNode; } //# sourceMappingURL=terminal-manager-tree-model.d.ts.map