/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { NgZone, AfterViewInit, OnInit, OnDestroy, ChangeDetectorRef, EventEmitter } from '@angular/core';
import { RefreshService, ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { ContextService } from '../../../../common/provider.service';
import { ToolbarToolBase } from '../../../../common/toolbar-tool-base.directive';
import { WindowService } from '@progress/kendo-angular-dialog';
import { GridAIAssistantPromptSettings, GridAIAssistantWindowSettings, GridAIRequestOptions, GridAIAssistantResponseSuccessEvent, GridAIAssistantResponseErrorEvent, GridAIAssistantRequestEvent, GridAIAssistantOpenEvent } from './models';
import { PromptOutput } from '@progress/kendo-angular-conversational-ui';
import * as i0 from "@angular/core";
/**
* Represents an AI Assistant tool of the Grid.
* Use this directive on any `kendo-toolbar-button` inside a ToolbarComponent in the Grid.
*
* @example
* ```html-no-run
*
*
*
*
*
* ```
* @remarks
* Applied to: {@link ToolBarButtonComponent}.
*/
export declare class AIAssistantToolbarDirective extends ToolbarToolBase implements OnInit, AfterViewInit, OnDestroy {
private windowService;
host: ToolBarButtonComponent;
ctx: ContextService;
zone: NgZone;
private refresh;
/**
* The URL to which the AI Assistant tool sends the AI request.
* - When you set this property, the AI Assistant tool sends and handles an HTTP request to the provided `requestUrl`. You can handle the `promptRequest` event to modify the request options before the tool sends it.
* - When you do not set this property, the AI Assistant tool does not send an HTTP request. You should handle the `promptRequest` event to send and handle a custom HTTP request.
*/
requestUrl?: string;
/**
* Configures the request options that the AI Assistant tool sends with the AI request.
*
* @default { headers: new HttpHeaders({ 'Content-Type': 'application/json' }), role: 'user', method: 'POST', responseType: 'json', withCredentials: false }
*/
requestOptions?: GridAIRequestOptions;
/**
* Configures the initial settings for the AI Assistant Window when opened.
*/
aiWindowSettings: GridAIAssistantWindowSettings;
/**
* Configures the initial settings for the AI Prompt component that the AI Assistant Window component uses when opened.
*/
aiPromptSettings: GridAIAssistantPromptSettings;
/**
* Determines whether to close the AI Assistant Window automatically after a successful request.
* @default true
*/
autoClose: boolean;
/**
* Determines whether to keep the AI Prompt's outputs after closing the AI Assistant Window.
* @default false
*/
keepOutputHistory: boolean;
/**
* Emits an event before the AI Assistant tool sends the AI request.
* - When you provide a `requestUrl`, you can handle the event to modify the request options.
* - When you do not provide a `requestUrl`, you can handle the event to perform an entirely custom request.
*/
promptRequest: EventEmitter;
/**
* Emits an event when the user clicks the cancel button.
*/
cancelRequest: EventEmitter;
/**
* Emits an event when the AI Assistant tool completes the AI request successfully.
* The event contains the response from the AI service and is preventable to allow stopping the default response handling.
*/
responseSuccess: EventEmitter;
/**
* Emits an event when the AI Assistant tool completes the AI request with an error.
* The event contains the error response from the AI service and is preventable to allow stopping the default error handling.
*/
responseError: EventEmitter;
/**
* Emits an event when the AI Assistant tool closes.
*/
close: EventEmitter;
/**
* Emits an event when the AI Assistant tool opens.
*/
open: EventEmitter;
tableWizardIcon: SVGIcon;
emitOpenClose: boolean;
promptOutputs: PromptOutput[];
private windowRef;
private subs;
private defaultAiPromptSettings;
constructor(windowService: WindowService, host: ToolBarButtonComponent, ctx: ContextService, zone: NgZone, refresh: RefreshService, cdr: ChangeDetectorRef);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
/**
* @hidden
*/
onClick(): void;
/**
* Toggles the AI Assistant window.
*/
toggleWindow(): void;
private openWindow;
private closeWindow;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}