/*!
 * 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, OpenFileDialogParams, OpenTabParams, PinnedContextParams, RuleClickResult, ListAvailableModelsResult } from '@aws/language-server-runtimes-types';
import { ChatPrompt, MynahUI, ConfigTexts } 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;
    addSelectedFilesToContext(params: OpenFileDialogParams): void;
    sendPinnedContext(params: PinnedContextParams): void;
    listAvailableModels(params: ListAvailableModelsResult): 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, tabFactory?: TabFactory) => void;
export declare const createMynahUi: (messager: Messager, tabFactory: TabFactory, disclaimerAcknowledged: boolean, pairProgrammingCardAcknowledged: boolean, customChatClientAdapter?: ChatClientAdapter, featureConfig?: Map<string, any>, agenticMode?: boolean, stringOverrides?: Partial<ConfigTexts>) => [MynahUI, InboundChatApi];
export declare const DEFAULT_HELP_PROMPT = "What can Amazon Q help me with?";
export declare const uiComponentsTexts: {
    mainTitle: string;
    copy: string;
    insertAtCursorLabel: string;
    feedbackFormTitle: string;
    feedbackFormOptionsLabel: string;
    feedbackFormCommentLabel: string;
    feedbackThanks: string;
    feedbackReportButtonLabel: string;
    codeSuggestions: string;
    files: string;
    clickFileToViewDiff: string;
    showMore: string;
    save: string;
    cancel: string;
    submit: string;
    stopGenerating: string;
    copyToClipboard: string;
    noMoreTabsTooltip: string;
    codeSuggestionWithReferenceTitle: string;
    spinnerText: string;
};
