import * as React from 'react'; import type { DialogItem } from './types/component.types'; export interface MingoChatHistoryProps { /** Dialogs to list, assumed already sorted newest-first by the host. */ dialogs: ReadonlyArray; /** Currently-open dialog id (highlighted). */ activeDialogId?: string; /** Open a dialog. */ onSelectDialog?: (id: string) => void; /** Request rename — enables the row "Rename chat" action. The host opens * the Rename modal; the list does no inline editing. */ onRequestRename?: (dialog: DialogItem) => void; /** Request archive — enables the row "Archive chat" action. The host opens * the Archive confirmation modal. */ onRequestArchive?: (dialog: DialogItem) => void; /** Request a shareable link — enables the row "Copy chat link" action. The host * owns the URL shape and the copy itself (the list knows neither the app's * routes nor whether a clipboard is available). */ onRequestCopyLink?: (dialog: DialogItem) => void; /** Current server-side search term. Drives the "No chats found" empty state; * the search INPUT lives in the panel header, not in this list. The host * owns the term and refetches server-side — the list does no filtering. */ searchQuery?: string; /** Whether more dialogs remain (cursor pagination). */ hasMore?: boolean; /** True while the next page is loading. */ isLoadingMore?: boolean; /** Fetch the next page — fired when the bottom sentinel scrolls into view. */ onLoadMore?: () => void; /** Appended to the root element. */ className?: string; } /** * Loading placeholder for the dialog history, shaped like the grouped row list * above. Shown while the FIRST page of dialogs is in flight so the Mingo empty * state doesn't flash the new-user greeting+grid before the list arrives (the * two layouts are mutually exclusive — swapping between them mid-load reads as * a flicker). Pure ODS tokens, `animate-pulse`. */ export declare function MingoChatHistorySkeleton({ className, }: { className?: string; }): React.JSX.Element; /** * MingoChatHistory — Figma node `7532:223950`. * * The returning-user variation of the Mingo empty state: the dialog history * rendered inline in the main panel, grouped into Today / Yesterday / Older * sections. Each row shows an optional unread badge, the title, and a `⋯` * menu (Rename / Archive — each gated on the matching handler and surfaced as * a request the host fulfils via a modal). Owns its own scroll + bottom/top * fade and an infinite-scroll * sentinel that fires `onLoadMore`. */ export declare function MingoChatHistory({ dialogs, activeDialogId, onSelectDialog, onRequestCopyLink, onRequestRename, onRequestArchive, searchQuery, hasMore, isLoadingMore, onLoadMore, className, }: MingoChatHistoryProps): React.JSX.Element; //# sourceMappingURL=mingo-chat-history.d.ts.map