import { type HTMLMotionProps } from 'motion/react';
import { type ReactNode, type Ref } from 'react';
export type AIStatusIslandIconVariant = 'analysing' | 'debugging' | 'prototype' | 'reading' | 'thinking';
export type AIStatusIslandTone = 'blue' | 'green' | 'pink' | 'red' | 'violet';
export type AIStatusIslandVariant = 'attached' | 'floating';
export type AIStatusIslandItem = {
id: string;
title: ReactNode;
description?: ReactNode;
meta?: ReactNode;
icon?: ReactNode;
iconVariant?: AIStatusIslandIconVariant;
tone?: AIStatusIslandTone;
};
export type AIStatusIslandProps = Omit, 'children' | 'defaultValue' | 'onChange' | 'ref'> & {
autoPlay?: boolean;
defaultValue?: string;
iconClassName?: string;
interval?: number;
items: readonly AIStatusIslandItem[];
onValueChange?: (value: string, item: AIStatusIslandItem) => void;
ref?: Ref;
renderIcon?: (item: AIStatusIslandItem) => ReactNode;
value?: string;
variant?: AIStatusIslandVariant;
};
declare const AIStatusIsland: {
({ autoPlay, className, defaultValue, iconClassName, interval, items, onValueChange, ref, renderIcon, role, value, variant, "aria-atomic": ariaAtomic, "aria-label": ariaLabel, "aria-live": ariaLive, ...props }: AIStatusIslandProps): import("react/jsx-runtime").JSX.Element | null;
displayName: string;
};
export { AIStatusIsland };