import { FeatureContext } from '@aws/chat-client-ui-types';
import { Button, ChatMessage, ChatResult } from '@aws/language-server-runtimes-types';
import { ChatItem, ChatItemButton, ChatItemContent, MynahIcons, TreeNodeDetails } from '@aws/mynah-ui';
export declare function toMynahIcon(icon: string | undefined): MynahIcons | undefined;
export declare function toMynahButtons(buttons: Button[] | undefined): ChatItemButton[] | undefined;
export declare function toMynahHeader(header: ChatMessage['header']): ChatItemContent['header'];
export declare function toMynahFileList(fileList: ChatMessage['fileList']): ChatItemContent['fileList'];
export declare function toDetailsWithoutIcon(details: Record<string, TreeNodeDetails> | undefined): Record<string, TreeNodeDetails>;
export declare function toMynahContextCommand(feature?: FeatureContext): any;
/**
 * Converts a contextList from ChatResult to a header format for ChatItem
 */
export declare function contextListToHeader(contextList?: ChatResult['contextList']): ChatItem['header'];
/**
 * Creates a properly formatted chat item for MCP tool summary with accordion view
 */
export declare function createMcpToolSummaryItem(message: ChatMessage, isPartialResult?: boolean): Partial<ChatItem>;
/**
 * Prepares a ChatItem from a ChatMessage with proper formatting for tool cards,
 * file lists, MCP summaries, etc.
 */
export declare function prepareChatItemFromMessage(message: ChatMessage, isPairProgrammingMode: boolean, isPartialResult?: boolean): Partial<ChatItem>;
/**
 * Converts a ChatMessage (e.g., from history restoration) to a ChatItem for MynahUI rendering.
 * This applies the same transformations as prepareChatItemFromMessage to ensure tool cards,
 * file lists, MCP summaries, etc. render correctly.
 */
export declare function chatMessageToChatItem(message: ChatMessage, isPairProgrammingMode?: boolean): ChatItem;
