import type { InsertToPosition } from '@blocksuite/affine-shared/utils'; import { type ReadonlySignal } from '@preact/signals-core'; import type { DataSource } from '../data-source/base.js'; import type { DataViewDataType, DataViewMode, ViewMeta } from '../view/data-view.js'; import type { SingleView } from './single-view.js'; export interface ViewManager { viewMetas: ViewMeta[]; dataSource: DataSource; readonly$: ReadonlySignal; currentViewId$: ReadonlySignal; currentView$: ReadonlySignal; setCurrentView(id: string): void; views$: ReadonlySignal; viewGet(id: string): SingleView | undefined; viewAdd(type: DataViewMode): string; viewDelete(id: string): void; viewDuplicate(id: string): void; viewDataGet(id: string): DataViewDataType | undefined; moveTo(id: string, position: InsertToPosition): void; viewChangeType(id: string, type: string): void; } export declare class ViewManagerBase implements ViewManager { dataSource: DataSource; _currentViewId$: import("@preact/signals-core").Signal; views$: ReadonlySignal; currentViewId$: ReadonlySignal; currentView$: ReadonlySignal; readonly$: ReadonlySignal; get viewMetas(): ViewMeta[]; constructor(dataSource: DataSource); moveTo(id: string, position: InsertToPosition): void; setCurrentView(id: string | undefined): void; viewAdd(type: DataViewMode): string; viewChangeType(id: string, type: string): void; viewDataGet(id: string): DataViewDataType | undefined; viewDelete(id: string): void; viewDuplicate(id: string): void; viewGet(id: string): SingleView | undefined; } //# sourceMappingURL=view-manager.d.ts.map