import type { Constructor as ConstructorOriginal, MarkdownFileInfo as MarkdownFileInfoOriginal, Menu as MenuOriginal, OpenViewState as OpenViewStateOriginal, PaneType as PaneTypeOriginal, Side as SideOriginal, SplitDirection as SplitDirectionOriginal, View as ViewOriginal, Workspace as WorkspaceOriginal, WorkspaceParent as WorkspaceParentOriginal, WorkspaceWindowInitData as WorkspaceWindowInitDataOriginal } from 'obsidian'; import type { WorkspaceEnsureSideLeafOptions, WorkspaceSetActiveLeafOptions } from '../internal/types.cjs'; import type { App } from './App.cjs'; import type { TFile } from './TFile.cjs'; import { Events } from './Events.cjs'; import { WorkspaceLeaf } from './WorkspaceLeaf.cjs'; import { WorkspaceRibbon } from './WorkspaceRibbon.cjs'; import { WorkspaceRoot } from './WorkspaceRoot.cjs'; import { WorkspaceSidedock } from './WorkspaceSidedock.cjs'; import { WorkspaceWindow } from './WorkspaceWindow.cjs'; export declare class Workspace extends Events { activeEditor: MarkdownFileInfoOriginal | null; activeLeaf: null | WorkspaceLeaf; containerEl: HTMLElement; layoutReady: boolean; leftRibbon: WorkspaceRibbon; leftSplit: WorkspaceSidedock; requestSaveLayout: import("obsidian").Debouncer<[], void>; rightRibbon: WorkspaceRibbon; rightSplit: WorkspaceSidedock; rootSplit: WorkspaceRoot; private readonly app; private layoutReadyCallbacks; private leaves; protected constructor(app: App, containerEl: HTMLElement); static create2__(app: App, containerEl: HTMLElement): Workspace; static fromOriginalType2__(value: WorkspaceOriginal): Workspace; asOriginalType2__(): WorkspaceOriginal; changeLayout(_workspace: unknown): Promise; constructor2__(_app: App, _containerEl: HTMLElement): void; createLeafBySplit(_leaf: WorkspaceLeaf, _direction?: SplitDirectionOriginal, _before?: boolean): WorkspaceLeaf; createLeafInParent(_parent: WorkspaceParentOriginal, _index: number): WorkspaceLeaf; detachLeavesOfType(viewType: string): void; duplicateLeaf(_leaf: WorkspaceLeaf, _leafType?: boolean | PaneTypeOriginal, _direction?: SplitDirectionOriginal): Promise; ensureSideLeaf(_type: string, _side: SideOriginal, _options?: WorkspaceEnsureSideLeafOptions): Promise; getActiveFile(): null | TFile; getActiveViewOfType(_type: ConstructorOriginal): null | T; getGroupLeaves(group: string): WorkspaceLeaf[]; getLastOpenFiles(): string[]; getLayout(): Record; getLeaf(newLeaf?: boolean | PaneTypeOriginal): WorkspaceLeaf; getLeafById(id: string): null | WorkspaceLeaf; getLeavesOfType(viewType: string): WorkspaceLeaf[]; getLeftLeaf(_split: boolean): null | WorkspaceLeaf; getMostRecentLeaf(_root?: WorkspaceParentOriginal): null | WorkspaceLeaf; getRightLeaf(_split: boolean): null | WorkspaceLeaf; getUnpinnedLeaf(): WorkspaceLeaf; handleLinkContextMenu(_menu: MenuOriginal, _linktext: string, _sourcePath: string, _leaf?: WorkspaceLeaf): boolean; iterateAllLeaves(callback: (leaf: WorkspaceLeaf) => unknown): void; iterateRootLeaves(callback: (leaf: WorkspaceLeaf) => unknown): void; moveLeafToPopout(leaf: WorkspaceLeaf, _data?: WorkspaceWindowInitDataOriginal): WorkspaceWindow; onLayoutReady(callback: () => unknown): void; openLinkText(linktext: string, sourcePath: string, newLeaf?: boolean | PaneTypeOriginal, _openViewState?: OpenViewStateOriginal): Promise; openPopoutLeaf(_data?: WorkspaceWindowInitDataOriginal): WorkspaceLeaf; removeLeaf__(leaf: WorkspaceLeaf): void; revealLeaf(leaf: WorkspaceLeaf): Promise; setActiveLeaf(leaf: WorkspaceLeaf, _options?: WorkspaceSetActiveLeafOptions): void; setLayoutReady__(): void; splitActiveLeaf(_direction?: SplitDirectionOriginal): WorkspaceLeaf; updateOptions(): void; }