import { URI } from "../../../../../../base/common/uri.js";
import { ResolveError } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/promptFileReferenceErrors";
import { IDisposable } from "../../../../../../base/common/lifecycle.js";
import { VSBufferReadableStream } from "../../../../../../base/common/buffer.js";
export interface IPromptContentsProvider extends IDisposable {
    readonly uri: URI;
    readonly languageId: string;
    readonly sourceName: string;
    start(): this;
    onContentChanged(callback: (streamOrError: VSBufferReadableStream | ResolveError) => void): IDisposable;
    onDispose(callback: () => void): this;
    createNew(promptContentsSource: {
        uri: URI;
    }): IPromptContentsProvider;
}
