/*!
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0
 */
import { ErrorParams, GenericCommandParams, SendToPromptParams, TriggerType } from '@aws/chat-client-ui-types';
import { ChatResult, ChatUpdateParams, ContextCommandParams, ConversationClickResult, GetSerializedChatParams, ListConversationsResult, ListRulesResult, ListMcpServersResult, McpServerClickResult, OpenTabParams, PinnedContextParams, RuleClickResult } from '@aws/language-server-runtimes-types';
import { ChatPrompt, MynahUI } from '@aws/mynah-ui';
import { Messager } from './messager';
import { TabFactory } from './tabs/tabFactory';
import { ChatClientAdapter } from '../contracts/chatClientAdapter';
export interface InboundChatApi {
    addChatResponse(params: ChatResult, tabId: string, isPartialResult: boolean): void;
    updateChat(params: ChatUpdateParams): void;
    sendToPrompt(params: SendToPromptParams): void;
    sendGenericCommand(params: GenericCommandParams): void;
    showError(params: ErrorParams): void;
    openTab(requestId: string, params: OpenTabParams): void;
    sendContextCommands(params: ContextCommandParams): void;
    listConversations(params: ListConversationsResult): void;
    listRules(params: ListRulesResult): void;
    conversationClicked(params: ConversationClickResult): void;
    ruleClicked(params: RuleClickResult): void;
    listMcpServers(params: ListMcpServersResult): void;
    mcpServerClick(params: McpServerClickResult): void;
    getSerializedChat(requestId: string, params: GetSerializedChatParams): void;
    createTabId(openTab?: boolean): string | undefined;
    sendPinnedContext(params: PinnedContextParams): void;
}
export declare const handlePromptInputChange: (mynahUi: MynahUI, tabId: string, optionsValues: Record<string, string>) => void;
export declare const handleChatPrompt: (mynahUi: MynahUI, tabId: string, prompt: ChatPrompt, messager: Messager, triggerType?: TriggerType, _eventId?: string, agenticMode?: boolean) => void;
export declare const createMynahUi: (messager: Messager, tabFactory: TabFactory, disclaimerAcknowledged: boolean, pairProgrammingCardAcknowledged: boolean, customChatClientAdapter?: ChatClientAdapter, featureConfig?: Map<string, any>, agenticMode?: boolean) => [MynahUI, InboundChatApi];
export declare const DEFAULT_HELP_PROMPT = "What can Amazon Q help me with?";
