import type * as React from 'react'; import { Button } from '../../../atoms/buttons/Button/index.js'; import { type BadgeProps } from '../../../atoms/display/Badge/index.js'; import { Rating } from '../../../atoms/display/Rating/index.js'; import { SparklineChart } from '../../../atoms/display/SparklineChart/index.js'; import { type SwitchProps } from '../../../atoms/forms/Switch/index.js'; import { type AvatarProps } from '../../../molecules/data/Avatar/index.js'; export type DataTableCellTone = 'foreground' | 'secondary' | 'muted' | 'success' | 'warning' | 'destructive'; export type DataTableCellRootProps = React.ComponentPropsWithoutRef<'div'>; declare function DataTableCellRoot({ className, ...props }: DataTableCellRootProps): React.JSX.Element; declare namespace DataTableCellRoot { var displayName: string; } export interface DataTableTextCellProps extends Omit, 'children'> { primary?: React.ReactNode; children?: React.ReactNode; supportingText?: React.ReactNode; lead?: boolean; tone?: DataTableCellTone; supportingTone?: DataTableCellTone; primaryClassName?: string; supportingClassName?: string; } declare function DataTableTextCell({ className, primary, children, supportingText, lead, tone, supportingTone, primaryClassName, supportingClassName, ...props }: DataTableTextCellProps): React.JSX.Element; declare namespace DataTableTextCell { var displayName: string; } export interface DataTableAvatarCellProps extends Omit, 'children'> { name: React.ReactNode; supportingText?: React.ReactNode; src?: string; alt?: string; fallback?: string; avatar?: React.ReactNode; avatarSize?: AvatarProps['size']; avatarShape?: AvatarProps['shape']; lead?: boolean; } declare function DataTableAvatarCell({ className, name, supportingText, src, alt, fallback, avatar, avatarSize, avatarShape, lead, ...props }: DataTableAvatarCellProps): React.JSX.Element; declare namespace DataTableAvatarCell { var displayName: string; } export type DataTableBadgeItem = { label: React.ReactNode; color?: BadgeProps['color']; variant?: BadgeProps['variant']; shape?: BadgeProps['shape']; className?: string; }; export interface DataTableBadgesCellProps extends Omit, 'children' | 'color'> { items: DataTableBadgeItem[]; max?: number; overflowLabel?: (count: number) => React.ReactNode; size?: BadgeProps['size']; color?: BadgeProps['color']; variant?: BadgeProps['variant']; shape?: BadgeProps['shape']; } declare function DataTableBadgesCell({ className, items, max, overflowLabel, size, color, variant, shape, ...props }: DataTableBadgesCellProps): React.JSX.Element; declare namespace DataTableBadgesCell { var displayName: string; } export interface DataTableProgressCellProps extends Omit, 'children'> { value: number; max?: number; label?: React.ReactNode; supportingText?: React.ReactNode; progressClassName?: string; } declare function DataTableProgressCell({ className, value, max, label, supportingText, progressClassName, ...props }: DataTableProgressCellProps): React.JSX.Element; declare namespace DataTableProgressCell { var displayName: string; } export type DataTableTrendSentiment = 'positive' | 'negative' | 'neutral'; export interface DataTableTrendCellProps extends Omit, 'children'> { value: number; sentiment?: DataTableTrendSentiment; showIcon?: boolean; formatValue?: (value: number) => React.ReactNode; } declare function DataTableTrendCell({ className, value, sentiment, showIcon, formatValue, ...props }: DataTableTrendCellProps): React.JSX.Element; declare namespace DataTableTrendCell { var displayName: string; } export interface DataTableSparklineCellProps extends Omit, 'children'> { data: React.ComponentProps['data']; color?: React.ComponentProps['color']; width?: number; height?: number; } declare function DataTableSparklineCell({ className, data, color, width, height, ...props }: DataTableSparklineCellProps): React.JSX.Element; declare namespace DataTableSparklineCell { var displayName: string; } export type DataTableRatingCellProps = React.ComponentPropsWithoutRef; declare function DataTableRatingCell({ className, size, ...props }: DataTableRatingCellProps): React.JSX.Element; declare namespace DataTableRatingCell { var displayName: string; } export type DataTableSwitchCellProps = Omit; declare function DataTableSwitchCell(props: DataTableSwitchCellProps): React.JSX.Element; declare namespace DataTableSwitchCell { var displayName: string; } export type DataTableCellAction = { label: string; children?: React.ReactNode; icon?: React.ReactNode; onClick?: React.MouseEventHandler; appearance?: React.ComponentProps['appearance']; variant?: React.ComponentProps['variant']; size?: React.ComponentProps['size']; iconOnly?: boolean; className?: string; }; export interface DataTableActionsCellProps extends Omit, 'children'> { actions: DataTableCellAction[]; } declare function DataTableActionsCell({ className, actions, ...props }: DataTableActionsCellProps): React.JSX.Element; declare namespace DataTableActionsCell { var displayName: string; } declare const DataTableCell: typeof DataTableCellRoot & { Root: typeof DataTableCellRoot; Text: typeof DataTableTextCell; Avatar: typeof DataTableAvatarCell; Badges: typeof DataTableBadgesCell; Progress: typeof DataTableProgressCell; Trend: typeof DataTableTrendCell; Sparkline: typeof DataTableSparklineCell; Rating: typeof DataTableRatingCell; Switch: typeof DataTableSwitchCell; Actions: typeof DataTableActionsCell; }; export { DataTableActionsCell, DataTableAvatarCell, DataTableBadgesCell, DataTableCell, DataTableCellRoot, DataTableProgressCell, DataTableRatingCell, DataTableSparklineCell, DataTableSwitchCell, DataTableTextCell, DataTableTrendCell, };