/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { HttpHeaders, HttpResponse } from "@angular/common/http"; import { PreventableEvent } from "@progress/kendo-angular-common"; import { SmartPasteFormField } from "./form-field"; /** * Defines the data structure for the HTTP request body sent by Smart Paste. */ export interface SmartPasteAIRequestData { /** * Sets the form fields to send to the AI service. */ formFields: Array; /** * Sets the content to be sent to the AI service. */ content: string; /** * Sets the URL of the AI service endpoint. */ url?: string; /** * Sets the request options for the AI service. * Includes headers, HTTP method, and other configurations. */ requestOptions: { role?: string; headers?: HttpHeaders; method?: string; withCredentials?: boolean; body?: any; responseType?: 'json' | 'arraybuffer' | 'blob' | 'text'; [key: string]: any; }; } /** * @hidden * * Represents the response from the AI request in the Smart Paste Button. */ export interface SmartPasteAIResponse { /** * A record mapping form field names to their parsed values. The id of each field corresponds to the `field` property in `SmartPasteFormField`. */ fieldValues: Record; } /** * Defines configuration options for the HTTP request sent to the AI service. */ export interface SmartPasteAIRequestOptions { /** * Sets the HTTP headers to include with the request. */ headers?: HttpHeaders; /** * Sets the role of the user making the request. * * @default 'user' */ role?: string; /** * Sets the HTTP method for the request. * * @default 'POST' */ method?: string; /** * Includes credentials such as cookies and authorization headers with the request. * * @default false */ withCredentials?: boolean; /** * Sets the expected response type from the AI service. * * @default 'json' */ responseType?: 'json' | 'arraybuffer' | 'blob' | 'text'; /** * Sets the body of the request. */ body?: any; /** * Sets additional custom options to spread into the request configuration. */ [key: string]: any; } /** * @hidden */ export declare const DEFAULT_AI_REQUEST_OPTIONS: SmartPasteAIRequestOptions; export declare class SmartPasteRequestStartEvent extends PreventableEvent { /** * Gets the request data to send to the AI service. */ requestData: SmartPasteAIRequestData; constructor(requestData: SmartPasteAIRequestData); } export declare class SmartPasteRequestEndEvent extends PreventableEvent { /** * Gets the HTTP response from the AI service. * Contains an error object when the request fails. */ response: HttpResponse; constructor(response: HttpResponse); }