import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { ViewPane, IViewPaneOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPane"; import { ISCMResourceGroup, ISCMResource, ISCMRepository, ISCMInput, ISCMActionButton, ISCMActionButtonDescriptor, ViewMode } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm"; import { ISCMViewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service"; import { ISCMService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service"; import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service"; import { RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service"; import { IMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service"; import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { ITreeNode, ITreeSorter } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/tree/tree"; import { IResourceNode } from "@codingame/monaco-vscode-api/vscode/vs/base/common/resourceTree"; import { ICompressibleTreeRenderer, ICompressibleKeyboardNavigationLabelProvider } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/tree/objectTree"; import { FuzzyScore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/filters"; import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service"; import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service"; import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service"; import { IListAccessibilityProvider } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/list/listWidget"; import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service"; import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service"; import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service"; import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service"; import { IAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service"; type TreeElement = ISCMRepository | ISCMInput | ISCMActionButton | ISCMResourceGroup | ISCMResource | IResourceNode; interface ActionButtonTemplate { readonly actionButton: SCMActionButton; disposable: IDisposable; readonly templateDisposable: IDisposable; } export declare class ActionButtonRenderer implements ICompressibleTreeRenderer { private commandService; private contextMenuService; private notificationService; static readonly DEFAULT_HEIGHT = 28; static readonly TEMPLATE_ID = "actionButton"; get templateId(): string; private actionButtons; constructor(commandService: ICommandService, contextMenuService: IContextMenuService, notificationService: INotificationService); renderTemplate(container: HTMLElement): ActionButtonTemplate; renderElement(node: ITreeNode, index: number, templateData: ActionButtonTemplate): void; renderCompressedElements(): void; focusActionButton(actionButton: ISCMActionButton): void; disposeElement(node: ITreeNode, index: number, template: ActionButtonTemplate): void; disposeTemplate(templateData: ActionButtonTemplate): void; } export declare class SCMTreeSorter implements ITreeSorter { private readonly viewMode; private readonly viewSortKey; constructor(viewMode: () => ViewMode, viewSortKey: () => ViewSortKey); compare(one: TreeElement, other: TreeElement): number; } export declare class SCMTreeKeyboardNavigationLabelProvider implements ICompressibleKeyboardNavigationLabelProvider { private viewMode; private readonly labelService; constructor(viewMode: () => ViewMode, labelService: ILabelService); getKeyboardNavigationLabel(element: TreeElement): { toString(): string; } | { toString(): string; }[] | undefined; getCompressedNodeKeyboardNavigationLabel(elements: TreeElement[]): { toString(): string | undefined; } | undefined; } export declare class SCMAccessibilityProvider implements IListAccessibilityProvider { private readonly accessibilityService; private readonly configurationService; private readonly keybindingService; private readonly labelService; constructor(accessibilityService: IAccessibilityService, configurationService: IConfigurationService, keybindingService: IKeybindingService, labelService: ILabelService); getWidgetAriaLabel(): string; getAriaLabel(element: TreeElement): string; } declare enum ViewSortKey { Path = "path", Name = "name", Status = "status" } export declare const ContextKeys: { SCMViewMode: RawContextKey; SCMViewSortKey: RawContextKey; SCMViewAreAllRepositoriesCollapsed: RawContextKey; SCMViewIsAnyRepositoryCollapsible: RawContextKey; SCMProvider: RawContextKey; SCMProviderRootUri: RawContextKey; SCMProviderHasRootUri: RawContextKey; SCMHistoryItemCount: RawContextKey; SCMHistoryViewMode: RawContextKey; SCMCurrentHistoryItemRefHasRemote: RawContextKey; SCMCurrentHistoryItemRefHasBase: RawContextKey; SCMCurrentHistoryItemRefInFilter: RawContextKey; RepositoryCount: RawContextKey; RepositoryVisibilityCount: RawContextKey; RepositoryVisibility(repository: ISCMRepository): RawContextKey; }; export declare class SCMViewPane extends ViewPane { private readonly commandService; private readonly editorService; private readonly menuService; private readonly scmService; private readonly scmViewService; private readonly storageService; private readonly uriIdentityService; private readonly _onDidLayout; private layoutCache; private treeScrollTop; private treeContainer; private tree; private listLabels; private inputRenderer; private actionButtonRenderer; private _viewMode; get viewMode(): ViewMode; set viewMode(mode: ViewMode); private readonly _onDidChangeViewMode; readonly onDidChangeViewMode: Event; private _viewSortKey; get viewSortKey(): ViewSortKey; set viewSortKey(sortKey: ViewSortKey); private readonly _onDidChangeViewSortKey; readonly onDidChangeViewSortKey: Event; private readonly items; private readonly visibilityDisposables; private readonly treeOperationSequencer; private readonly revealResourceThrottler; private readonly updateChildrenThrottler; private viewModeContextKey; private viewSortKeyContextKey; private areAllRepositoriesCollapsedContextKey; private isAnyRepositoryCollapsibleContextKey; private scmProviderContextKey; private scmProviderRootUriContextKey; private scmProviderHasRootUriContextKey; private readonly disposables; constructor(options: IViewPaneOptions, commandService: ICommandService, editorService: IEditorService, menuService: IMenuService, scmService: ISCMService, scmViewService: ISCMViewService, storageService: IStorageService, uriIdentityService: IUriIdentityService, keybindingService: IKeybindingService, themeService: IThemeService, contextMenuService: IContextMenuService, instantiationService: IInstantiationService, viewDescriptorService: IViewDescriptorService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, openerService: IOpenerService, hoverService: IHoverService); protected layoutBody(height?: number | undefined, width?: number | undefined): void; protected renderBody(container: HTMLElement): void; private createTree; private open; private onDidActiveEditorChange; private onDidChangeVisibleRepositories; private onListContextMenu; private getSelectedRepositories; private getSelectedResources; private getViewMode; private getViewSortKey; private loadTreeViewState; private storeTreeViewState; private updateChildren; private updateIndentStyles; private updateScmProviderContextKeys; private updateRepositoryCollapseAllContextKeys; collapseAllRepositories(): void; expandAllRepositories(): void; collapseAllResources(group: ISCMResourceGroup): void; focusPreviousInput(): void; focusNextInput(): void; private focusInput; focusPreviousResourceGroup(): void; focusNextResourceGroup(): void; private focusResourceGroup; shouldShowWelcome(): boolean; getActionsContext(): unknown; focus(): void; dispose(): void; } export declare class SCMActionButton implements IDisposable { private readonly container; private readonly contextMenuService; private readonly commandService; private readonly notificationService; private button; private readonly disposables; constructor(container: HTMLElement, contextMenuService: IContextMenuService, commandService: ICommandService, notificationService: INotificationService); dispose(): void; setButton(button: ISCMActionButtonDescriptor | undefined): void; focus(): void; private clear; private executeCommand; } export {};