import { LLMChat, MsgBase, OnResponseTypes, ReqOpenChat, VibeFile, ResOpenChat, ResPromptChatSection, ResultVibesDiy, VibesDiyError, FSUpdate, SelectedSlotInput, OptionalAuth, MsgBox } from "@vibes.diy/api-types"; import { Result } from "@adviser/cement"; import { LLMRequest } from "@vibes.diy/call-ai-v2"; import { DashAuthType } from "@vibes.diy/identity"; import { VibeDiyApiConnection } from "./api-connection.js"; import { ReqType, VibesDiyApiConfig, WithAuth } from "./vibes-diy-api-types.js"; interface VibesDiyApiForLLMChat { readonly cfg: Pick; getReadyConnection(): Promise; send(req: T, msgParam: Partial> & { tid: string; }): Promise>, VibesDiyError>>; request(req: Q, msgParam: { tid?: string; resMatch: (res: unknown) => boolean; }): Promise>; } export declare class LLMChatImpl implements LLMChat { #private; readonly api: VibesDiyApiForLLMChat; readonly tid: string; readonly res: ResOpenChat; readonly sectionStream: ReadableStream; get chatId(): string; get ownerHandle(): string; get appSlug(): string; get firstTurnFired(): boolean; get draft(): boolean; static open(open: ReqType, api: VibesDiyApiForLLMChat): Promise>; private constructor(); promptFS(req: FSUpdate | VibeFile[], opts?: { refFsId?: string; }): Promise>; prompt(msg: LLMRequest, opts?: { inputImageBase64?: string; dryRun?: boolean; dryRunPreAllocate?: boolean; focusPath?: string; selected?: SelectedSlotInput; apiKey?: string; imgTarget?: { dbName: string; docId: string; regen?: boolean; sourceKey?: string; }; variant?: "access-wizard" | "upgrade-backend" | "discuss" | "work"; }): Promise>; close(_force?: boolean): Promise; } export {};