import type { ReactNode } from "react"; import { type ChatHistoryItem, type ChatHistoryListProps } from "./ChatHistoryList.js"; import { type ChatHistoryRailController } from "./useChatHistoryRailController.js"; export interface ChatHistoryRailLabels { newChat: string; showMore: string; showLess: string; } export interface ChatHistoryRailProps extends Omit { items: ChatHistoryItem[]; onNewChat: () => void; railLabels: ChatHistoryRailLabels; previewCount?: number; expandedCount?: number; /** * Product-level presentation slot for design systems that want to replace * the rail wholesale. State and actions still come from the same controller * as the default view. */ renderRail?: (context: ChatHistoryRailRenderContext) => ReactNode; } export interface ChatHistoryRailRenderContext { controller: ChatHistoryRailController; listProps: Omit; } export type DefaultChatHistoryRailViewProps = ChatHistoryRailRenderContext; export declare function DefaultChatHistoryRailView({ controller, listProps, }: ChatHistoryRailRenderContext): import("react").JSX.Element; /** * Compact recent-chat rail for app sidebars. Hosts own thread persistence, * sorting, routing, and mutations; the rail only owns progressive disclosure. */ export declare function ChatHistoryRail({ items, onNewChat, railLabels, previewCount, expandedCount, renderRail, className, emptyLabel, ...listProps }: ChatHistoryRailProps): import("react").JSX.Element; //# sourceMappingURL=ChatHistoryRail.d.ts.map