import { HTMLAttributes, ReactNode } from 'react'; import { AvatarV2Props } from '../AvatarV2/avatarV2.types'; import { ButtonV2Props } from '../ButtonV2/buttonV2.types'; export declare enum TimelineNodeStatus { SUCCESS = "success", WARNING = "warning", ERROR = "error", NEUTRAL = "neutral" } export type TimelineUser = { name: string; avatar?: AvatarV2Props['src']; fallbackText?: string; }; export type LinePositionOptions = { indicatorHeightPx: number; indicatorTopPx: number; labelCircleHeightPx: number; }; export type LineLayout = { top: number; height: number; }; export type TimelineRootProps = { children: ReactNode; className?: string; } & Omit, 'children' | 'className' | 'style'>; export type TimelineLabelProps = { text: string; }; export type TimelineHeaderProps = HTMLAttributes & { title: string; status?: TimelineNodeStatus; timestamp?: string; children?: ReactNode; leftSlot?: ReactNode; rightSlot?: ReactNode; }; export type TimelineSubstepProps = HTMLAttributes & { title: string; isNestedUnderHeader?: boolean; showIndicator?: boolean; description?: string; timestamp?: string; rightSlot?: ReactNode; datetimeLeftSlot?: ReactNode; datetimeRightSlot?: ReactNode; }; export type TimelineNodeProps = HTMLAttributes & { title?: string; leftSlot?: ReactNode; headerRightSlot?: ReactNode; datetime?: string; datetimeLeftSlot?: ReactNode; datetimeRightSlot?: ReactNode; text?: string; maxLines?: number; user?: TimelineUser; avatarProps?: Partial>; time?: string; status?: TimelineNodeStatus; children?: ReactNode; }; export type TimelineShowMoreProps = { count: number; label?: string; onShowMore?: () => void; buttonProps?: Partial>; }; export type TimelineCommentData = { id: string; text: string; user: { name: string; avatar?: string; fallbackText?: string; }; timestamp: string; }; export type TimelineSubstepData = { id: string; title: string; description?: string; timestamp: string; }; export type TimelineHeaderData = { id: string; title: string; status?: string; timestamp: string; substeps?: TimelineSubstepData[]; comments?: TimelineCommentData[]; }; export type TimelineLabelData = { id: string; date: string; headers?: TimelineHeaderData[]; comments?: TimelineCommentData[]; }; export type TimelineItemData = { label?: TimelineLabelData; header?: TimelineHeaderData; comment?: TimelineCommentData; };