import * as i0 from '@angular/core'; import { EventEmitter, QueryList } from '@angular/core'; import { SupportedIconsSuggestions } from '@c8y/ngx-components/icon-selector/icons'; import { AIMessage, ChatConfig } from '@c8y/ngx-components/ai'; /** * An action button that can be added to chat messages. * Typically used for actions like copying, regenerating, or providing feedback on messages. */ declare class AiChatMessageActionComponent { /** * Disables the action button when true. */ disabled: boolean; /** * Tooltip text displayed when hovering over the action button. */ tooltip: string; /** * Icon to display in the action button. */ icon: SupportedIconsSuggestions; /** * Emitted when the action button is clicked. */ click: EventEmitter; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class AiChatMessageComponent { readonly role: i0.InputSignal<"user" | "assistant">; readonly message: i0.InputSignal; private readonly translateService; private readonly roleResolved; /** * Generates an accessible label for the message container. * Includes the role (user or assistant) and timestamp if available. * @returns The aria-label string for screen readers */ readonly ariaLabel: i0.Signal; /** * Generates an accessible label for the message content. * Prefixes the content with contextual information about who sent it. * @returns The aria-label string with prefixed role information */ readonly messageContentAriaLabel: i0.Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * A suggestion chip that can be displayed in the chat interface. * When clicked, it automatically populates and sends a predefined prompt. */ declare class AiChatSuggestionComponent { /** * The visible label text displayed on the suggestion chip. */ label: string; /** * The prompt text that will be sent when the suggestion is clicked. */ prompt: string; /** * Icon to display alongside the suggestion label. */ icon: SupportedIconsSuggestions; /** * When true, uses AI-styled buttons instead of default styling. */ useAiButtons: boolean; /** * Disables the suggestion chip when true. */ disabled: boolean; /** * Emitted when the suggestion is clicked, providing the prompt as an AIMessage. */ suggestionClicked: EventEmitter; /** * Handles suggestion click and emits the prompt as a user message. */ suggest(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * An interactive chat interface component for AI-powered conversations. * Displays messages in a conversation format with support for loading states, * custom configuration, and markdown formatting. */ declare class AiChatComponent { /** * Indicates whether the chat is currently processing a request. * When true, displays a cancel button instead of send button and disables the input. */ isLoading: boolean; /** * Disables the chat input and send button when true. */ disabled: boolean; /** * The current text in the chat input field. Supports two-way binding. */ prompt: string; /** * Emitted when the user sends a message. * Provides an AIMessage object with role, content, and timestamp. */ onMessage: EventEmitter; /** * Emitted when the user cancels an ongoing operation during loading state. */ onCancel: EventEmitter; /** * Child message components displayed in the chat. */ messages: QueryList; readonly componentId: string; private _config; /** * Configuration object for customizing labels, placeholders, and icons. * Accepts partial configuration to override defaults. */ set config(value: Partial); get config(): Partial; /** * Handles message submission when the user sends a message. * Emits the onMessage event and clears the input. * @param $event - The event object from the form submission */ sendMessage($event: Event): void; /** * Handles cancellation of ongoing operations during loading state. * Emits the onCancel event. */ cancel(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { AiChatComponent, AiChatMessageActionComponent, AiChatMessageComponent, AiChatSuggestionComponent }; //# sourceMappingURL=index.d.ts.map