import { type ChatTransport, type LanguageModel, UIMessage, type UIMessageChunk } from 'ai'; export type AssistantMessage = UIMessage & { metadata?: { /** The text to display instead of the message text. */ displayText?: string; /** Whether to persist the message after chat clearing. * Used for warning messages in cases like using non-genuine MongoDB. */ isPermanent?: boolean; /** The source of the message (i.e. the entry point used) */ source?: 'explain plan' | 'performance insights' | 'connection error'; /** Information for confirmation messages. */ confirmation?: { description: string; state: 'confirmed' | 'rejected' | 'pending'; }; /** Overrides the default sent instructions for the assistant for this message. */ instructions?: string; /** Excludes history if this message is the last message being sent */ sendWithoutHistory?: boolean; }; }; /** Returns true if the message should be excluded from being sent to the assistant API. */ export declare function shouldExcludeMessage({ metadata }: AssistantMessage): boolean; export declare class DocsProviderTransport implements ChatTransport { private model; private origin; private instructions; constructor({ instructions, model, origin, }: { instructions: string; model: LanguageModel; origin: string; }); static emptyStream: ReadableStream; sendMessages({ messages, abortSignal, }: { messages: AssistantMessage[]; abortSignal?: AbortSignal; }): Promise>; reconnectToStream(): Promise | null>; }