/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ElementRef, EventEmitter, QueryList, AfterViewInit, OnDestroy, NgZone, Renderer2 } from '@angular/core';
import { Action } from './api/action.interface';
import { ChatItem } from './chat-item';
import { ChatSuggestion } from './api/chat-suggestion.interface';
import { ChatSuggestionTemplateDirective } from './templates/suggestion-template.directive';
import { ChatService } from './common/chat.service';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { SuggestionsScrollService } from './common/scroll.service';
import { ScrollButtonType } from './common/utils';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class SuggestedActionsComponent extends ChatItem implements AfterViewInit, OnDestroy {
    private chatService;
    private localization;
    private scrollService;
    private ngZone;
    private renderer;
    get defaultClass(): boolean;
    get scrollableClass(): boolean;
    get scrollButtonsClass(): boolean;
    get scrollStartClass(): boolean;
    get scrollEndClass(): boolean;
    get role(): string;
    actions: Action[];
    suggestions: ChatSuggestion[];
    tabbable: boolean;
    type: 'action' | 'suggestion';
    suggestionTemplate: ChatSuggestionTemplateDirective;
    dispatchAction: EventEmitter<Action>;
    dispatchSuggestion: EventEmitter<ChatSuggestion>;
    items: QueryList<ElementRef>;
    suggestionsContainer: ElementRef;
    scrollableContainer: ElementRef;
    prevScrollButton: ElementRef;
    nextScrollButton: ElementRef;
    selectedIndex: number;
    activeIndex: number;
    active: boolean;
    isAtScrollStart: boolean;
    isAtScrollEnd: boolean;
    get isScrollable(): boolean;
    get hasScrollButtons(): boolean;
    private subscriptions;
    private actionKeyHandlers;
    private suggestionKeyHandlers;
    constructor(chatService: ChatService, localization: LocalizationService, scrollService: SuggestionsScrollService, ngZone: NgZone, renderer: Renderer2);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    isSelected(index: number): boolean;
    isActive(index: number): boolean;
    actionClick(action: Action, index?: number): void;
    suggestionClick(suggestion: ChatSuggestion, index?: number): void;
    toggleActiveState(apply: boolean, index: number): void;
    actionKeydown(e: any, action: Action): void;
    suggestionKeydown(e: any, suggestion: ChatSuggestion): void;
    getScrollButtonTitle(direction: string): string;
    onScroll(event: Event): void;
    onScrollableContainerScroll(_event: Event): void;
    scrollSuggestions(direction: ScrollButtonType): void;
    focus(): void;
    private updateScrollableState;
    private toggleScrollButtonState;
    private changeSelectedIndex;
    static ɵfac: i0.ɵɵFactoryDeclaration<SuggestedActionsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SuggestedActionsComponent, "kendo-chat-suggested-actions", never, { "actions": { "alias": "actions"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "tabbable": { "alias": "tabbable"; "required": false; }; "type": { "alias": "type"; "required": false; }; "suggestionTemplate": { "alias": "suggestionTemplate"; "required": false; }; }, { "dispatchAction": "dispatchAction"; "dispatchSuggestion": "dispatchSuggestion"; }, never, never, true, never>;
}
