/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Message, SendButtonSettings, MessageAction, FileAction, SuggestionsLayoutMode } from "../api";
import { ConversationalUIModelFields } from "./models/model-fields";
import { FileSelectButtonSettings } from '../../promptbox/common/models';
import { SpeechToTextButtonSettings } from "@progress/kendo-angular-buttons";
import { MessageBoxSettings } from "../api/message-box";
import { NgZone } from "@angular/core";
/**
 * @hidden
 *
 * Show the scroll-to-bottom button when the user is this many pixels from the bottom.
 */
export declare const scrollButtonThreshold = 100;
/**
 * @hidden
 *
 * Pins a scroll container to a computed target across layout shifts.
 * Observers extend the idle window until layout has settled; the initial and
 * final pins bracket the settle window so the viewport lands exactly on target.
 */
export declare const settleScroll: (zone: NgZone, el: HTMLElement, computeTarget: () => number | null, onComplete: () => void, idleMs?: number, timeoutMs?: number) => void;
/**
 * @hidden
 */
export declare const closest: (node: any, predicate: any) => any;
/**
 * @hidden
 */
export declare const URL_REGEX: RegExp;
/**
 * @hidden
 */
export declare const DOWNLOAD_ALL_SELECTOR = ".k-chat-download-button";
/**
 * @hidden
 */
export declare const FILE_ACTION_BTN_SELECTOR = ".k-menu-button";
/**
 * @hidden
 */
export declare const MENU_ITEM_SELECTOR = ".k-menu-link";
/**
 * @hidden
 * Default settings for the Speech to Text button.
 * These settings can be overridden by the user.
 */
export declare const STB_DEFAULT_SETTINGS: SpeechToTextButtonSettings;
/**
 * @hidden
 */
export declare const SEND_BTN_DEFAULT_SETTINGS: SendButtonSettings;
/**
 * @hidden
 */
export declare const FILESELECT_BUTTON_DEFAULT_SETTINGS: FileSelectButtonSettings;
/**
 * @hidden
 */
export declare const SUGGESTIONS_LAYOUT_DEFAULT_SETTINGS: SuggestionsLayoutMode;
/**
 * @hidden
 */
export type ScrollButtonType = 'prev' | 'next';
/**
 * @hidden
 */
export declare const CONTEXT_MENU_ACTIONS: MessageAction[];
/**
 * @hidden
 */
export declare const FILE_ACTIONS: FileAction[];
export declare const MESSAGE_BOX_SETTINGS: MessageBoxSettings;
/**
 * @hidden
 */
export declare const processMessages: (messages: any[], fields?: ConversationalUIModelFields) => Message[];
/**
 * @hidden
 */
export declare const parseMessage: (message: any, fields?: ConversationalUIModelFields) => Message;
/**
 * @hidden
 */
export declare const transformActions: (actions: MessageAction[]) => any[];
