import { type Dispatch, type MutableRefObject, type SetStateAction } from 'react';
import type { ChatMessage } from '../types/ChatMessage';
/**
 * Inputs required to manage the persisted `<LlmChat/>` message list.
 *
 * @private function of `useLlmChatMessages`
 */
type UseLlmChatMessagesProps = {
    readonly initialMessages?: ReadonlyArray<ChatMessage>;
    readonly persistenceKey?: string;
};
/**
 * State and helpers returned by `useLlmChatMessages`.
 *
 * @private function of `useLlmChatMessages`
 */
type UseLlmChatMessagesResult = {
    readonly buildInitialMessages: () => Array<ChatMessage>;
    readonly hasUserInteractedRef: MutableRefObject<boolean>;
    readonly messages: Array<ChatMessage>;
    readonly setMessages: Dispatch<SetStateAction<Array<ChatMessage>>>;
};
/**
 * Manages initial seeding plus optional local persistence for `<LlmChat/>`.
 *
 * @private function of `useLlmChatState`
 */
export declare function useLlmChatMessages(props: UseLlmChatMessagesProps): UseLlmChatMessagesResult;
export {};
