import { type HTMLAttributes, type LiHTMLAttributes, type OlHTMLAttributes, type ReactNode, type TimeHTMLAttributes } from 'react';
import { type VariantProps } from 'class-variance-authority';
type EventType = 'info' | 'success' | 'warning' | 'error' | 'neutral';
type Layout = 'rail-start' | 'rail-end' | 'alternating';
declare const timelineVariants: (props?: ({
layout?: "rail-start" | "rail-end" | "alternating" | null | undefined;
order?: "newest-first" | "oldest-first" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface TimelineProps extends Omit, 'color'>, VariantProps {
layout?: Layout;
order?: 'newest-first' | 'oldest-first';
children: ReactNode;
className?: string;
}
export interface TimelineEventProps extends LiHTMLAttributes {
type?: EventType;
/** Opaque event id — when set, the component emits `data-event-id` for agent addressing. */
eventId?: string;
children: ReactNode;
className?: string;
}
/** Curated imperative handle for agent / external automation. */
export interface TimelineHandle {
getSelectedEvent: () => string | null;
selectEvent: (id: string) => void;
}
export interface TimelineDotProps extends HTMLAttributes {
icon?: ReactNode;
className?: string;
}
export interface TimelineContentProps extends HTMLAttributes {
title: string;
description?: ReactNode;
actor?: {
name: string;
src?: string;
};
children?: ReactNode;
className?: string;
}
export interface TimelineTimestampProps extends TimeHTMLAttributes {
date: Date | string;
/** Overrides the active language for date and time formatting. */
locale?: string;
relative?: boolean;
format?: Intl.DateTimeFormatOptions;
className?: string;
}
export declare const Timeline: import("react").ForwardRefExoticComponent> & {
Event: import("react").ForwardRefExoticComponent>;
Dot: import("react").ForwardRefExoticComponent>;
Content: import("react").ForwardRefExoticComponent>;
Timestamp: import("react").ForwardRefExoticComponent>;
};
export {};
//# sourceMappingURL=timeline.d.ts.map