import { ReactNode } from "react";
export interface FeedTheme {
    baseStyle: string;
    listStyle: string;
    itemInnerStyle: string;
    itemContentStyle: string;
    connectorStyle: string;
    indicatorStyle: string;
    dotIndicatorStyle: string;
    contentStyle: string;
    timestampStyle: string;
    collapseStyle: string;
    collapseButtonStyle: string;
    collapseSvgStyle: string;
}
export interface FeedThemeOverrides {
    baseStyle?: string;
    listStyle?: string;
    itemInnerStyle?: string;
    itemContentStyle?: string;
    connectorStyle?: string;
    indicatorStyle?: string;
    dotIndicatorStyle?: string;
    contentStyle?: string;
    timestampStyle?: string;
    collapseStyle?: string;
    collapseButtonStyle?: string;
    collapseSvgStyle?: string;
}
export interface FeedProps extends React.HTMLAttributes<HTMLDivElement> {
    children: ReactNode;
    theme?: FeedThemeOverrides;
    className?: string;
}
/** @internal Injected by Feed.Collapse via cloneElement */
export interface FeedItemInternalProps {
    _as?: "li" | "div";
}
export interface FeedItemProps extends React.HTMLAttributes<HTMLLIElement>, FeedItemInternalProps {
    /** Icon or avatar element rendered as the indicator */
    icon?: ReactNode;
    /** Custom className for the indicator wrapper (icon background circle) */
    indicatorClassName?: string;
    /** Timestamp label (e.g. "6d ago") */
    timestamp?: ReactNode;
    /** Body content */
    children?: ReactNode;
    className?: string;
}
export interface FeedCollapseProps {
    /** Template string with `{count}` placeholder for the number of hidden items */
    label?: string;
    /** Icon rendered next to the label */
    icon?: ReactNode;
    /** Uncontrolled initial expanded state */
    defaultExpanded?: boolean;
    /** Controlled expanded state */
    expanded?: boolean;
    /** Callback fired when the toggle is clicked */
    onToggle?: (expanded: boolean) => void;
    /** Feed.Item children to hide/reveal */
    children: ReactNode;
    /** Override className on the wrapper <li> */
    className?: string;
}
