import { Dimension } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/dom"; import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { IEditorOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor"; import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service"; import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service"; import { EditorPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorPane"; import { IEditorOpenContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor"; import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service"; import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service"; import { IEditorGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService"; import { IWebviewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service"; import { ImageCarouselEditorInput } from "./imageCarouselEditorInput.js"; export declare class ImageCarouselEditor extends EditorPane { private readonly _fileService; private readonly _webviewService; static readonly ID = "workbench.editor.imageCarousel"; private _container; private _currentIndex; private _zoomScale; private _sections; private _flatImages; private readonly _contentDisposables; private readonly _imageDisposables; private readonly _blobUrlCache; private _videoWebview; private _elements; private _thumbnailElements; constructor(group: IEditorGroup, telemetryService: ITelemetryService, themeService: IThemeService, storageService: IStorageService, _fileService: IFileService, _webviewService: IWebviewService); protected createEditor(parent: HTMLElement): void; setInput(input: ImageCarouselEditorInput, options: IEditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken): Promise; clearInput(): void; private _isCurrentVideo; /** * Build the full DOM skeleton. Called once per setInput. */ private buildSlideshow; /** * Update only the changing parts: main image src, caption, button states, thumbnail selection. * No DOM teardown/rebuild — eliminates the blank flash. */ private updateCurrentImage; private _loadBlobUrl; private _revokeCachedBlobUrls; private _loadRawData; private _preloadAdjacentImages; previous(): void; next(): void; /** * Compute the current display scale when transitioning from 'fit' to numeric zoom. */ private _initZoomFromFit; /** * Zoom in to the next predefined zoom level. */ private _zoomIn; /** * Zoom out to the previous predefined zoom level. */ private _zoomOut; /** * Apply fit-to-container or numeric zoom with scroll-center preservation. */ private _applyZoom; focus(): void; layout(dimension: Dimension): void; }