import type { DefineSetupFnComponent, SlotsType } from 'vue';
import type { ChatActionPayload } from '../../messages/composables/chat-action.js';
import type { MessageFeedbackPayload } from '../../messages/composables/chat-feedback.js';
import type { ChatMessageTerminalPayload } from '../../messages/composables/chat-message-terminal.js';
import type { Message } from '../../types/schemas/chat/conversations.js';
import type { ChatFeatureConfig } from '../feature-config.js';
import type { AvailableChatModels, ChatEmbedVariant, ChatEmbedVariantProps, ChatSidebarConfig, ChatSuggestion, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps } from '../types.js';
type MeistrariChatEmbedEmits = {
/** Fired when the active conversation changes. Pairs with `v-model:conversation-id`. */
'update:conversationId': (value: string | null) => any;
/** Fired when the active conversation creator filter changes. Pairs with `v-model:conversation-creator-filter`. */
'update:conversationCreatorFilter': (value: 'all' | 'mine') => any;
/** Fired when the floating widget window opens or closes. Widget variants only. */
'update:open': (value: boolean) => any;
/** Fired when an assistant message triggers a host-handled action. */
'action': (payload: ChatActionPayload) => any;
/** Fired when a user submits feedback for an assistant message. */
'messageFeedback': (payload: MessageFeedbackPayload) => any;
/** Fired after polling observes an assistant message reach a terminal status. */
'messageTerminal': (payload: ChatMessageTerminalPayload) => any;
};
type MeistrariChatEmbedSlots = SlotsType<{
/** Rendered in a dedicated bottom pane of the conversation sidebar, splitting it in half. Page variant only. */
'sidebar-bottom'?: () => any;
/** Rendered inside a failed assistant message's error box, next to "Tentar novamente"; receives the failed message. */
'failed-message-actions'?: (props: { message: Message }) => any;
}>;
/**
* Embedded Meistrari chat surface. Auto-registered by the `@meistrari/chat-nuxt`
* module — no manual import needed in templates.
*
* Props are `MeistrariChatEmbedProps`: a union of `DefaultChatEmbedProps`
* (workspace chat, the default) and `TelaAgentChatEmbedProps` (Tela agent
* mode, enabled by passing `tela-agent-id`). Every prop is documented on
* those types — go to their definitions for the full contract.
*
* All prop and payload types are re-exported below, from
* `@meistrari/chat-nuxt` and from `@meistrari/chat-nuxt/types/embed`.
*
* @example
* ```vue
*
*
*
*
*
*
* ```
*/
declare const MeistrariChatEmbed: DefineSetupFnComponent;
export default MeistrariChatEmbed;
export type { AvailableChatModels, ChatActionPayload, ChatEmbedVariant, ChatEmbedVariantProps, ChatFeatureConfig, ChatMessageTerminalPayload, ChatSidebarConfig, ChatSuggestion, DefaultChatEmbedProps, MeistrariChatEmbedProps, Message, MessageFeedbackPayload, TelaAgentChatEmbedProps };