import { Event } from "../../../../base/common/event.js"; import { URI } from "../../../../base/common/uri.js"; import { IRange } from "../../../../editor/common/core/range.js"; import { IAgentFeedbackChangeEvent, IAgentFeedback, IAgentFeedbackNavigationBearing } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService"; export declare const IAgentFeedbackService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier; export interface IAgentFeedbackService { readonly _serviceBrand: undefined; readonly onDidChangeFeedback: Event; readonly onDidChangeNavigation: Event; /** * Add a feedback item for the given session. */ addFeedback(sessionResource: URI, resourceUri: URI, range: IRange, text: string): IAgentFeedback; /** * Remove a single feedback item. */ removeFeedback(sessionResource: URI, feedbackId: string): void; /** * Get all feedback items for a session. */ getFeedback(sessionResource: URI): readonly IAgentFeedback[]; /** * Resolve the most recently updated session that has feedback for a given resource. */ getMostRecentSessionForResource(resourceUri: URI): URI | undefined; /** * Set the navigation anchor to a specific feedback item, open its editor, and fire a navigation event. */ revealFeedback(sessionResource: URI, feedbackId: string): Promise; /** * Navigate to next/previous feedback item in a session. */ getNextFeedback(sessionResource: URI, next: boolean): IAgentFeedback | undefined; /** * Get the current navigation bearings for a session. */ getNavigationBearing(sessionResource: URI): IAgentFeedbackNavigationBearing; /** * Clear all feedback items for a session (e.g., after sending). */ clearFeedback(sessionResource: URI): void; /** * Add a feedback item and then submit the feedback. Waits for the * attachment to be updated in the chat widget before submitting. */ addFeedbackAndSubmit(sessionResource: URI, resourceUri: URI, range: IRange, text: string): Promise; }