export declare const DEFAULT_CHAT_LOADING_MESSAGES: readonly ["Analisando sua pergunta", "Processando informações", "Consultando base de conhecimento", "Organizando ideias", "Elaborando resposta", "Refinando detalhes", "Verificando contexto", "Conectando conceitos", "Preparando resultado", "Quase lá", "Finalizando análise", "Estruturando resposta"]; /** * Stand-in steps for a turn that has not produced its own reasoning yet. They * accumulate, so the bubble reads as an agent working through the wait rather * than as a loading placeholder. The user message is already delivered at this * point, so the wait belongs to the answer. */ export declare const CHAT_PREPARING_STEPS: readonly ["Preparando a resposta", "Analisando a mensagem"]; /** * The first delay is measured from the send, every later one from the step * before it — so the sequence paces itself instead of racing a shared clock. * Late enough that a turn answering promptly never shows a stand-in, and * jittered so it does not look like a fixed-timer artifact. */ export declare const CHAT_PREPARING_STEP_DELAYS_MS: readonly [2500, 4000]; export declare const CHAT_PREPARING_STEP_JITTER_MS = 500; export declare function nextChatPreparingStepDelay(stepIndex: number, random?: () => number): number; export type ChatLoadingMessageMode = 'ordered' | 'random'; export type ChatLoadingMessagesInput = { loadingMessages?: readonly string[] | null; loadingMessagesMode?: ChatLoadingMessageMode | null; }; export type ResolvedChatLoadingMessages = { mode: ChatLoadingMessageMode; messages: readonly string[]; }; export declare function resolveChatLoadingMessages(input?: ChatLoadingMessagesInput | null): ResolvedChatLoadingMessages; export declare function getNextChatLoadingMessageIndex(mode: ChatLoadingMessageMode, messageCount: number, currentIndex: number, random?: () => number): number;