/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterContentChecked, AfterViewInit, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, QueryList, Renderer2, SimpleChanges, TemplateRef } from "@angular/core";
import { SVGIcon } from "@progress/kendo-svg-icons";
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { FabAlign, FabPositionMode, FloatingActionButtonComponent, SpeechToTextButtonSettings } from "@progress/kendo-angular-buttons";
import { BaseView } from "./views/base-view";
import { AIPromptService } from "./common/aiprompt.service";
import { PromptCommand, PromptOutput, CommandExecuteEvent, PromptRequestEvent, OutputRatingChangeEvent } from "./models";
import { AIPromptToolbarActionsDirective } from "./templates/toolbar-actions.template";
import { ToolbarNavigationService } from "./common/toolbar-navigation.service";
import { AIPromptOutputTemplateDirective } from "./templates/aiprompt-output-template.directive";
import { AIPromptOutputBodyTemplateDirective } from "./templates/aiprompt-output-body-template.directive";
import { TextAreaSettings } from "@progress/kendo-angular-inputs";
import * as i0 from "@angular/core";
/**
 * Represents the [Kendo UI AIPrompt component for Angular](https://www.telerik.com/kendo-angular-ui/components/conversational-ui/aiprompt).
 *
 * @example
 * ```html
 * <kendo-aiprompt
 *   [promptCommands]="commands"
 *   [promptSuggestions]="suggestions"
 *   [promptOutputs]="outputs"
 *   [showOutputRating]="true"
 *   (promptRequest)="onPromptRequest($event)">
 * </kendo-aiprompt>
 * ```
 *
 * @remarks
 * Supported children components are: {@link AIPromptCustomMessagesComponent}, {@link CustomViewComponent}, {@link CommandViewComponent}, {@link PromptViewComponent}, {@link OutputViewComponent}.
 */
export declare class AIPromptComponent implements OnInit, OnChanges, AfterContentChecked, AfterViewInit, OnDestroy {
    private localization;
    private service;
    private navigationService;
    private ngZone;
    private element;
    private renderer;
    hostClasses: boolean;
    get dirAttr(): string;
    constructor(localization: LocalizationService, service: AIPromptService, navigationService: ToolbarNavigationService, ngZone: NgZone, element: ElementRef, renderer: Renderer2);
    /**
     * @hidden
     */
    fabButton: FloatingActionButtonComponent;
    /**
     * @hidden
     */
    views: QueryList<BaseView>;
    /**
     * @hidden
     */
    toolbarActionsTemplate: AIPromptToolbarActionsDirective;
    /**
     * @hidden
     */
    outputTemplate: AIPromptOutputTemplateDirective;
    /**
     * @hidden
     */
    outputBodyTemplate: AIPromptOutputBodyTemplateDirective;
    /**
     * The active view index of the AIPrompt component.
     */
    set activeView(idx: number);
    get activeView(): number;
    /**
     * Sets the collection of commands to render in the Command view.
     */
    set promptCommands(value: Array<PromptCommand>);
    /**
     * Sets the collection of suggestions to render in the Prompt view.
     */
    set promptSuggestions(value: Array<string>);
    /**
     * Sets the collection of generated prompt outputs to render in the Output view.
     */
    set promptOutputs(value: Array<PromptOutput>);
    /**
     * Specifies whether the rating buttons appear in each Output view card.
     * The rating buttons do not appear by default.
     * @default false
     */
    set showOutputRating(value: boolean);
    /**
     * Specifies whether the Stop generation button appears in the Output view.
     * The Stop generation button does not appear by default.
     * @default false
     */
    streaming: boolean;
    /**
     * Sets the settings for the Speech to Text button in the Prompt view
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/conversational-ui/aiprompt/configuration#enabling-speech-to-text)).
     */
    set speechToTextButton(settings: boolean | SpeechToTextButtonSettings);
    /**
     * Sets the settings for the TextArea in the Prompt view
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/conversational-ui/aiprompt/configuration#configuring-the-prompt-text-area)).
     */
    set textAreaSettings(settings: TextAreaSettings);
    /**
     * Sets the SVG icon for the Generate button in the Prompt view.
     */
    generateButtonSVGIcon: SVGIcon;
    /**
     * Sets the icon for the Generate button in the Prompt view.
     * @default 'sparkles'
     */
    generateButtonIcon: string;
    /**
     * Sets the disabled state for the Generate button in the Prompt view.
     * @default false
     */
    disabledGenerateButton: boolean;
    /**
     * Fires when the `activeView` property is updated.
     * Use this event for two-way binding of the `activeView` property.
     */
    activeViewChange: EventEmitter<number>;
    /**
     * Fires when you click the Generate button in the Prompt view or the Retry button in the Output view.
     * Use the event's `isRetry` field to determine the source element.
     */
    promptRequest: EventEmitter<PromptRequestEvent>;
    /**
     * Fires when you click a Command view command.
     * The event data contains the selected command.
     */
    commandExecute: EventEmitter<CommandExecuteEvent>;
    /**
     * Fires when you click a Copy button in any Output view card.
     */
    outputCopy: EventEmitter<PromptOutput>;
    /**
     * Fires when you click a rating button in any Output view card.
     */
    outputRatingChange: EventEmitter<OutputRatingChangeEvent>;
    /**
     * Fires when you click the Stop Generation button in the Output view.
     */
    promptRequestCancel: EventEmitter<void>;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterContentChecked(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Focuses the first focusable element in the AIPrompt component.
     */
    focus(): void;
    private subs;
    /**
     * @hidden
     */
    get selectedView(): BaseView;
    /**
     * @hidden
     */
    sparklesIcon: SVGIcon;
    /**
     * @hidden
     */
    outputIcon: SVGIcon;
    /**
     * @hidden
     */
    fabStopGenerationSVGIcon: SVGIcon;
    /**
     * @hidden
     */
    get viewsArray(): Array<BaseView>;
    /**
     * @hidden
     */
    fabPositionMode: FabPositionMode;
    /**
     * @hidden
     */
    fabAlignment: FabAlign;
    private direction;
    private _activeView;
    /**
     * @hidden
     */
    viewChange(idx: number): void;
    /**
     * @hidden
     */
    messageFor(text: string): string;
    /**
     * @hidden
     */
    get viewTemplate(): TemplateRef<any>;
    /**
     * @hidden
     */
    handleGenerateOutput(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AIPromptComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AIPromptComponent, "kendo-aiprompt", ["kendoAIPrompt"], { "activeView": { "alias": "activeView"; "required": false; }; "promptCommands": { "alias": "promptCommands"; "required": false; }; "promptSuggestions": { "alias": "promptSuggestions"; "required": false; }; "promptOutputs": { "alias": "promptOutputs"; "required": false; }; "showOutputRating": { "alias": "showOutputRating"; "required": false; }; "streaming": { "alias": "streaming"; "required": false; }; "speechToTextButton": { "alias": "speechToTextButton"; "required": false; }; "textAreaSettings": { "alias": "textAreaSettings"; "required": false; }; "generateButtonSVGIcon": { "alias": "generateButtonSVGIcon"; "required": false; }; "generateButtonIcon": { "alias": "generateButtonIcon"; "required": false; }; "disabledGenerateButton": { "alias": "disabledGenerateButton"; "required": false; }; }, { "activeViewChange": "activeViewChange"; "promptRequest": "promptRequest"; "commandExecute": "commandExecute"; "outputCopy": "outputCopy"; "outputRatingChange": "outputRatingChange"; "promptRequestCancel": "promptRequestCancel"; }, ["toolbarActionsTemplate", "outputTemplate", "outputBodyTemplate", "views"], never, true, never>;
}
