import { Disposable, IChatAsyncContent, IChatComponent, IChatMarkdownContent, IChatProgress, IChatReasoning, IChatToolContent, IChatTreeData } from '@opensumi/ide-core-common'; import { CoreMessage, IChatFollowup, IChatModel, IChatRequestMessage, IChatRequestModel, IChatResponseErrorDetails, IChatWelcomeMessageContent, ISampleQuestions } from '../../common'; import { MsgHistoryManager } from '../model/msg-history-manager'; import { IChatSlashCommandItem } from '../types'; export type IChatProgressResponseContent = IChatMarkdownContent | IChatAsyncContent | IChatTreeData | IChatComponent | IChatToolContent | IChatReasoning; export declare class ChatResponseModel extends Disposable { #private; readonly session: IChatModel; readonly agentId: string; get responseParts(): IChatProgressResponseContent[]; get responseContents(): IChatProgressResponseContent[]; get isComplete(): boolean; get isCanceled(): boolean; get requestId(): string; get responseText(): string; get errorDetails(): IChatResponseErrorDetails | undefined; get followups(): IChatFollowup[] | undefined; get onDidChange(): import("@opensumi/ide-core-common").Event; constructor(requestId: string, session: IChatModel, agentId: string, initParams?: { isComplete: boolean; isCanceled: boolean; responseContents: IChatProgressResponseContent[]; responseParts: IChatProgressResponseContent[]; responseText: string; errorDetails: IChatResponseErrorDetails | undefined; followups: IChatFollowup[] | undefined; }); updateContent(progress: IChatProgress, quiet?: boolean): void; complete(): void; cancel(): void; reset(): void; setErrorDetails(errorDetails: IChatResponseErrorDetails): void; setFollowups(followups: IChatFollowup[]): void; toJSON(): { isCanceled: boolean; responseContents: IChatProgressResponseContent[]; responseText: string; responseParts: IChatProgressResponseContent[]; errorDetails: IChatResponseErrorDetails | undefined; followups: IChatFollowup[] | undefined; }; } export declare class ChatRequestModel implements IChatRequestModel { #private; readonly session: IChatModel; readonly message: IChatRequestMessage; readonly response: ChatResponseModel; get requestId(): string; constructor(requestId: string, session: IChatModel, message: IChatRequestMessage, response: ChatResponseModel); toJSON(): { requestId: string; message: IChatRequestMessage; response: ChatResponseModel; }; } export declare class ChatModel extends Disposable implements IChatModel { #private; private requestIdPool; constructor(initParams?: { sessionId?: string; history?: MsgHistoryManager; modelId?: string; }); get sessionId(): string; get requests(): ChatRequestModel[]; restoreRequests(requests: ChatRequestModel[]): void; readonly history: MsgHistoryManager; get slicedMessageCount(): number; get modelId(): string | undefined; set modelId(modelId: string | undefined); getMessageHistory(contextWindow?: number): CoreMessage[]; addRequest(message: IChatRequestMessage): ChatRequestModel; acceptResponseProgress(request: ChatRequestModel, progress: IChatProgress, quiet?: boolean): void; getRequest(requestId: string): ChatRequestModel | undefined; dispose(): void; toJSON(): { sessionId: string; modelId: string | undefined; history: MsgHistoryManager; requests: ChatRequestModel[]; }; } export declare class ChatWelcomeMessageModel extends Disposable { readonly content: IChatWelcomeMessageContent; readonly sampleQuestions: ISampleQuestions[]; private static nextId; private _id; get id(): string; constructor(content: IChatWelcomeMessageContent, sampleQuestions: ISampleQuestions[]); } export declare class ChatSlashCommandItemModel extends Disposable implements IChatSlashCommandItem { private readonly chatCommand; readonly command?: string | undefined; readonly agentId?: string | undefined; constructor(chatCommand: IChatSlashCommandItem, command?: string | undefined, agentId?: string | undefined); get name(): string; get isShortcut(): boolean; get icon(): string | undefined; get description(): string | undefined; get tooltip(): string | undefined; get nameWithSlash(): string; } //# sourceMappingURL=chat-model.d.ts.map