import type { TableCellAction, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellImageTracks, TableCellTag, TableCellTagVariant, TableCellTextRun, TableCellTextTrack, TableCellValue, TableCellLinkTarget, TableCellLineClamp, TableCellMaxLines, TableColumn } from './table-types'; import type { IconColor } from '../Icon/Icon'; import type { TextColor } from '../Text/text-types'; /** Maximum independently colored runs on one secondary or tertiary track. */ export declare const TABLE_CELL_TEXT_RUN_LIMIT = 3; export interface ResolvedTableCellText { primary: string | number; secondary?: TableCellTextRun[]; tertiary?: TableCellTextRun[]; secondaryColor?: TextColor; tertiaryColor?: TextColor; href?: string; target?: TableCellLinkTarget; wrap?: boolean; fontFeature?: 'normal' | 'tabular-nums'; } export type TableCellPresentation = { kind: 'blank'; cellType: 'blank'; value: TableCellBlank; } | { kind: 'empty'; cellType: 'empty'; value: TableCellEmpty | null | undefined; } | { kind: 'icon'; cellType: 'icon'; value: TableCellIcon; } | { kind: 'icon-text'; cellType: 'icon-text'; icon: string; iconColor?: IconColor; iconLabel?: string; value: ResolvedTableCellText; variant: 'single' | 'multi' | 'triple'; wraps: boolean; lineClamp: TableCellLineClamp; } | { kind: 'image'; cellType: 'image'; value: TableCellImage; variant: 'single' | 'multi' | 'triple'; } | { kind: 'action'; cellType: 'action'; value: TableCellAction; } | { kind: 'tag'; cellType: 'tag'; value: TableCellTag; variant: TableCellTagVariant; } | { kind: 'text'; cellType: 'text' | 'primary-text'; value: ResolvedTableCellText; primaryText: boolean; singleLine: boolean; variant: 'single' | 'multi' | 'triple' | 'primary-pair'; wraps: boolean; lineClamp: TableCellLineClamp; }; /** Resolve an image cell's track stack; unknown values fall back to one track. */ export declare function resolveTableCellImageTracks(tracks: TableCellImage['tracks']): TableCellImageTracks; /** Map an image track stack onto the shared single/multi/triple cell variant. */ export declare function tableCellImageVariant(tracks: TableCellImageTracks): 'single' | 'multi' | 'triple'; /** Collapse a consumer track into at most three non-empty runs. */ export declare function normalizeTableCellTextTrack(track: TableCellTextTrack | number | undefined): TableCellTextRun[] | undefined; /** Map wrap / maxLines onto wrap-to-track geometry and a line clamp. */ export declare function resolveTableCellTextOverflow(source: { wrap?: boolean; maxLines?: TableCellMaxLines; }, column: TableColumn): { wraps: boolean; lineClamp: TableCellLineClamp; }; /** ds-text overflow props for a resolved clamp. */ export declare function tableCellTextOverflowProps(lineClamp: TableCellLineClamp): { lineTruncation: TableCellLineClamp; wrap: 'wrap' | 'nowrap'; }; /** Resolve a cell's semantic and visual recipe once for both markup and classes. */ export declare function resolveTableCellPresentation(value: TableCellValue, column: TableColumn): TableCellPresentation; //# sourceMappingURL=table-cell-model.d.ts.map