import type { ReactNode } from "react"; import { type LucideIcon } from "lucide-react"; export type TimelineStatus = "done" | "current" | "pending"; export type TimelineVariant = "icon" | "ordinal" | "status"; export type TimelineItem = { title: ReactNode; location?: ReactNode; time?: ReactNode; note?: ReactNode; /** Shorthand for `status: "current"`. `status` wins when both are set. */ current?: boolean; /** Explicit 3-state. Resolves as `status ?? */ status?: TimelineStatus; /** Per-item glyph override; wins over the variant/status auto-glyph. */ icon?: LucideIcon; }; export type TimelineProps = { items: TimelineItem[]; /** * Rail glyph strategy. `icon` (default) keeps the legacy look (Plane for the current step, * CheckCircle2 otherwise). */ variant?: TimelineVariant; }; export declare function Timeline({ items, variant }: TimelineProps): import("react").JSX.Element;