import { type DeepReadonly, type MaybeRefOrGetter } from 'vue'; import type { Conversation, ConversationWithMessages, Message } from '../../types/schemas/chat/conversations.js'; import { type ChatReasoningEffort } from '../../types/schemas/chat/models.js'; import type { FileUploadInput } from '../../types/schemas/chat/files.js'; import type { SendMessageBody } from '../../types/schemas/chat/messages.js'; import type { TelaAgentExecutionInput } from '../../types/schemas/integrations/tela-agent-api.js'; import { type QueuedSend } from './outbound-queue.js'; export declare function resolveTelaAgentInputs(messageInputs: TelaAgentExecutionInput[] | undefined, configuredInputs: DeepReadonly | null | undefined): SendMessageBody['agentInputs']; export declare function resolveStreamingContent(authoritative: string, provisional: string): string; export declare function useChat(options?: { outboundQueueEnabled?: MaybeRefOrGetter; onQueuedSendCancelled?: (send: QueuedSend) => void; onQueuedSendFailed?: (send: QueuedSend) => void; }): { currentConversation: any; messages: any; loading: any; sending: any; error: any; isPolling: any; hasPendingMessage: any; composerLocked: any; queuedMessageContent: any; outboundOccupied: any; sessionReady: any; agentSessionStatus: any; agentSessionRewakeable: any; streamingActiveMessageId: any; preparingSteps: any; cancelling: any; generatingTitle: any; animatedTitle: any; loadConversation: (id: string) => Promise; setConversation: (conv: Conversation | ConversationWithMessages) => void; adoptConversation: (conv: Conversation) => void; setConversationModel: (model: string | null) => void; pendingModelSelection: any; setConversationReasoningEffort: (reasoningEffort: ChatReasoningEffort | null) => void; pendingReasoningEffortSelection: any; sendMessage: (content: string, files?: FileUploadInput[], agentInputs?: TelaAgentExecutionInput[], prepare?: (signal: AbortSignal) => Promise<{ wakeSessionId?: string; defer?: boolean; }>, queuedSend?: QueuedSend) => Promise; flushOutboundQueue: (wakeSessionId?: string) => Promise; failOutboundQueue: (message: string) => boolean; retryMessage: (messageId: string, prepare?: () => Promise) => Promise; cancelConversation: () => Promise; startPolling: () => void; stopPolling: () => void; clearConversation: () => void; clearConversationThread: () => Promise; exportToMarkdown: () => void; };