import { type IViewContainerDescriptor, type IViewContainersRegistry, type IViewDescriptor, type IViewsRegistry, type ViewContainer, ViewContainerLocation } from "../../vscode/src/vs/workbench/common/views.js"; import type { BrandedService, ServicesAccessor } from "../../vscode/src/vs/platform/instantiation/common/instantiation.js"; import { type IDisposable } from "../../vscode/src/vs/base/common/lifecycle.js"; import { Dimension } from "../../vscode/src/vs/base/browser/dom.js"; import { ViewPaneContainer } from "../../vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js"; import { URI } from "../../vscode/src/vs/base/common/uri.js"; import { Codicon } from "../../vscode/src/vs/base/common/codicons.js"; import { type EditorInputFactoryObject, type RegisteredEditorInfo, type RegisteredEditorOptions, RegisteredEditorPriority } from "../../vscode/src/vs/workbench/services/editor/common/editorResolverService.js"; import { EditorInput, type IEditorCloseHandler } from "../../vscode/src/vs/workbench/common/editor/editorInput.js"; import { EditorInputCapabilities, type IEditorOpenContext, type IEditorSerializer, Verbosity } from "../../vscode/src/vs/workbench/common/editor.js"; import type { IEditorOptions, IResourceEditorInput } from "../../vscode/src/vs/platform/editor/common/editor.js"; import { EditorPane } from "../../vscode/src/vs/workbench/browser/parts/editor/editorPane.js"; import { CancellationToken } from "../../vscode/src/vs/base/common/cancellation.js"; import { DomScrollableElement } from "../../vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js"; import { ConfirmResult } from "../../vscode/src/vs/platform/dialogs/common/dialogs.js"; import { AbstractResourceEditorInput } from "../../vscode/src/vs/workbench/common/editor/resourceEditorInput.js"; import { AbstractTextResourceEditorInput } from "../../vscode/src/vs/workbench/common/editor/textResourceEditorInput.js"; import { Parts, Position } from "../../vscode/src/vs/workbench/services/layout/browser/layoutService.js"; import { Event } from "../../vscode/src/vs/base/common/event.js"; import { type IView, SplitView } from "../../vscode/src/vs/base/browser/ui/splitview/splitview.js"; import { type IEditorGroup } from "../../services.js"; type Label = string | { short: string; medium: string; long: string; }; declare abstract class InjectedEditorPane extends EditorPane { constructor(id: string, group: IEditorGroup); } declare abstract class SimpleEditorPane extends InjectedEditorPane { protected container: HTMLElement; protected wrapper: HTMLElement; protected scrollbar: DomScrollableElement | undefined; private inputDisposable; protected createEditor(parent: HTMLElement): void; setInput(input: EditorInput, editorOptions: IEditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken): Promise; layout(dimension: Dimension): void; focus(): void; clearInput(): void; abstract initialize(): HTMLElement; abstract renderInput?(input: EditorInput, options: IEditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken): Promise; } declare abstract class SimpleEditorInput extends EditorInput { closeHandler?: IEditorCloseHandler | undefined; private dirty; private _capabilities; private name; private title; private description; resource: URI | undefined; constructor(resource?: URI, closeHandler?: IEditorCloseHandler | undefined); get capabilities(): EditorInputCapabilities; addCapability(capability: EditorInputCapabilities): void; removeCapability(capability: EditorInputCapabilities): void; get editorId(): string | undefined; setName(name: string): void; setTitle(title: Label): void; setDescription(description: string): void; private getLabelValue; getName(): string; getTitle(verbosity?: Verbosity): string; getDescription(verbosity?: Verbosity): string; isDirty(): boolean; setDirty(dirty: boolean): void; toUntyped(): IResourceEditorInput | undefined; } declare function registerEditorPane(typeId: string, name: string, ctor: new (group: IEditorGroup, ...services: Services) => EditorPane, inputCtors: (new (...args: any[]) => EditorInput)[]): IDisposable; declare function registerEditor(globPattern: string, editorInfo: RegisteredEditorInfo, editorOptions: RegisteredEditorOptions, factory: EditorInputFactoryObject): IDisposable; declare function registerEditorSerializer(editorTypeId: string, ctor: { new (...Services: Services): IEditorSerializer; }): IDisposable; interface CustomViewOption { readonly id: string; name: string; order?: number; renderBody(container: HTMLElement, scrollbar: DomScrollableElement): IDisposable; location: ViewContainerLocation; icon?: string; canMoveView?: boolean; default?: boolean; actions?: { id: string; title: string; tooltip?: string; order?: number; run?(accessor: ServicesAccessor): Promise; icon?: keyof typeof Codicon; render?(container: HTMLElement): void; }[]; viewContainer?: ViewContainer; canToggleVisibility?: boolean; hideByDefault?: boolean; collapsed?: boolean; } declare const viewContainerRegistry: IViewContainersRegistry; declare const viewRegistry: IViewsRegistry; declare function registerCustomView(options: CustomViewOption): IDisposable; export declare function isPartVisibile(part: Parts): boolean; export declare function setPartVisibility(part: Exclude, visible: boolean): void; export declare const onDidChangePanelPosition: Event; export declare function getPanelPosition(): Position; export declare const onDidChangeSideBarPosition: Event; export declare function getSideBarPosition(): Position; export { ViewContainerLocation, registerCustomView, ViewPaneContainer, ConfirmResult, registerEditorPane, RegisteredEditorPriority, InjectedEditorPane as EditorPane, SimpleEditorPane, SimpleEditorInput, AbstractResourceEditorInput, AbstractTextResourceEditorInput, EditorInput, registerEditor, registerEditorSerializer, EditorInputCapabilities, Parts, SplitView, viewRegistry, viewContainerRegistry, DomScrollableElement }; export type { IEditorSerializer, CustomViewOption, IEditorCloseHandler, RegisteredEditorInfo, RegisteredEditorOptions, EditorInputFactoryObject, IView, IViewContainerDescriptor, ViewContainer, IViewDescriptor };