import type * as React from "react"; import { type ReactNode } from "react"; import { useRender } from "@base-ui/react/use-render"; import { type Reference, type RowLineProps } from "./row"; import { type TextSize } from "./text"; import { type TextColor } from "./text_ink"; import { type StyleProps } from "./style_props"; export interface CellStackProps extends StyleProps { /** * Words, a node that draws itself, or a code ({@link Reference}), which never breaks and is its * own door. */ title: ReactNode | Reference; /** * The one qualifying line; a list is one line of statements (`Row.Line`), each whole or absent. * Reserving the line is the column's (`TableColumn.lines`), so a blank caption is none. */ caption?: RowLineProps["children"]; /** Readings the register folded under the name, which the width never sheds (`Row.Line kept`). */ kept?: RowLineProps["kept"]; /** `medium` separates the pair on its own, so it decides the caption's rung. */ weight?: "regular" | "medium" | "semibold"; /** A mark separates the pair as `medium` does, so the caption keeps body size. */ marked?: boolean; /** * Drawn here as the row's lead, at a register cell's rung unless sized. Sets `marked`; the column * still budgets its width (`TableColumn.lead`). */ leading?: ReactNode; /** The pair takes one rung. */ size?: TextSize; /** The caption is always `muted`. */ color?: TextColor; align?: "left" | "right" | "center"; /** A register cell almost always wants 1. */ lines?: number; /** * The subject line becomes the way to what it names; inside a pressable row the innermost control * claims the click (`Link`). A node `title` takes no door. */ onPress?: () => void; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** * The subject's own rung where weight or a mark separates the pair, else `xs`. Read by the cell and * the column that budgets it. */ export declare function captionRung(weight: NonNullable, marked: boolean, size: TextSize): TextSize; /** * A register's identity cell: the kit's `Row` at register rhythm (`docs/composition.md` ยง"The * register's own craft"). The caption's rung is decided by what else separates the pair, never its * content: with both lines regular it drops to `xs` or the two read as peers. */ export declare function CellStack(props: CellStackProps): React.JSX.Element;