import { AIVariableContext, AIVariableContribution, AIVariableOpener, AIVariableResolutionRequest, AIVariableResolver, ResolvedAIContextVariable } from '@theia/ai-core'; import { FrontendVariableService, AIVariablePasteResult } from '@theia/ai-core/lib/browser'; import * as monaco from '@theia/monaco-editor-core'; import { ILogger, URI } from '@theia/core'; import { LabelProvider, LabelProviderContribution, OpenerService } from '@theia/core/lib/browser'; import { FileService } from '@theia/filesystem/lib/browser/file-service'; import { WorkspaceService } from '@theia/workspace/lib/browser'; import { ImageContextVariable, ImageContextVariableRequest, ResolvedImageContextVariable } from '../common/image-context-variable'; import { PendingImageRegistry } from './pending-image-registry'; export declare class ImageContextVariableContribution implements AIVariableContribution, AIVariableResolver, AIVariableOpener, LabelProviderContribution { protected readonly fileService: FileService; protected readonly wsService: WorkspaceService; protected readonly openerService: OpenerService; protected readonly labelProvider: LabelProvider; protected readonly logger: ILogger; protected readonly pendingImageRegistry: PendingImageRegistry; registerVariables(service: FrontendVariableService): void; canResolve(request: AIVariableResolutionRequest, _: AIVariableContext): Promise; resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise; protected resolveFromRegistry(shortId: string, context: AIVariableContext): Promise; protected createResolvedVariable(request: ImageContextVariableRequest, resolved: ResolvedImageContextVariable): ResolvedAIContextVariable; protected resolveFromPath(variable: ImageContextVariable): Promise; canOpen(request: AIVariableResolutionRequest, context: AIVariableContext): Promise; open(request: ImageContextVariableRequest, context: AIVariableContext): Promise; protected toUri(request: ImageContextVariableRequest): Promise; handlePaste(event: ClipboardEvent, _context: AIVariableContext): Promise; protected extractImagesFromClipboardData(event: ClipboardEvent): Promise; protected extractImagesFromClipboardAPI(): Promise; protected blobToBase64(blob: Blob): Promise; protected makeAbsolute(pathStr: string): Promise; canHandle(element: object): number; protected parseArgSafe(arg: string): ImageContextVariable | undefined; getIcon(element: ImageContextVariableRequest): string | undefined; getName(element: ImageContextVariableRequest): string | undefined; getDetails(element: ImageContextVariableRequest): string | undefined; /** * Provides completion items for pending images in the current chat session. * This allows users to discover available `img_1`, `img_2`, etc. short IDs * when typing `#imageContext:`. */ protected provideArgumentCompletionItems(model: monaco.editor.ITextModel, position: monaco.Position, matchString?: string): Promise; } //# sourceMappingURL=image-context-variable-contribution.d.ts.map