import type * as Platform from '../../core/platform/platform.js'; import { type TabbedPane } from './TabbedPane.js'; import { type ToolbarItem, type ToolbarMenuButton } from './Toolbar.js'; import { VBox, type Widget } from './Widget.js'; export interface View { viewId(): string; title(): Platform.UIString.LocalizedString; isCloseable(): boolean; isPreviewFeature(): boolean; isTransient(): boolean; toolbarItems(): Promise; widget(): Promise; disposeView(): void | Promise; } export declare class SimpleView extends VBox implements View { #private; constructor(title: Platform.UIString.LocalizedString, isWebComponent?: boolean, viewId?: string); viewId(): string; title(): Platform.UIString.LocalizedString; isCloseable(): boolean; isTransient(): boolean; toolbarItems(): Promise; widget(): Promise; revealView(): Promise; disposeView(): void; isPreviewFeature(): boolean; } export interface ViewLocation { appendApplicableItems(locationName: string): void; appendView(view: View, insertBefore?: View | null): void; showView(view: View, insertBefore?: View | null, userGesture?: boolean): Promise; removeView(view: View): void; widget(): Widget; } export interface TabbedViewLocation extends ViewLocation { tabbedPane(): TabbedPane; enableMoreTabsButton(): ToolbarMenuButton; } export interface ViewLocationResolver { resolveLocation(location: string): ViewLocation | null; }