import type { SizeType, Spacing } from ".."; import type { BaseComponent } from "../base"; import type { ColorGradientScheme } from "../colors"; import type { Overrides } from "../overrides"; import type { IconProps } from "./icon"; import type { TextNodeProps } from "./text"; export interface TimelineProps extends BaseComponent { type: "timeline"; visible?: boolean | null; icon_alignment: "title" | "title_and_description"; item_spacing: number; text_spacing: number; column_gutter: number; size: SizeType; padding: Spacing; margin: Spacing; items: TimelineItemProps[]; overrides?: Overrides; } export interface TimelineConnectorProps { width: number; margin: { top: number; bottom: number; }; color: ColorGradientScheme | null; } export interface TimelineItemProps extends BaseComponent { type: "timeline_item"; icon: IconProps; title: TextNodeProps; description?: TextNodeProps | null; connector?: TimelineConnectorProps; overrides?: Overrides; }