import { URI } from "../../../../base/common/uri.js";
import { ICodeEditor } from "../../../../editor/browser/editorBrowser.js";
import { Position } from "../../../../editor/common/core/position.js";
import { IChatEditingSession } from "../../chat/common/chatEditingService.js";
import { IChatModel } from "../../chat/common/chatModel.js";
import { Session } from "@codingame/monaco-vscode-9f229325-8261-585c-a552-16085958c680-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatSession";
export interface ISessionKeyComputer {
    getComparisonKey(editor: ICodeEditor, uri: URI): string;
}
export interface IInlineChatSessionEvent {
    readonly editor: ICodeEditor;
    readonly session: Session;
}
export interface IInlineChatSessionEndEvent extends IInlineChatSessionEvent {
    readonly endedByExternalCause: boolean;
}
export interface IInlineChatSession2 {
    readonly initialPosition: Position;
    readonly uri: URI;
    readonly chatModel: IChatModel;
    readonly editingSession: IChatEditingSession;
    dispose(): void;
}
