import "./split_row.css"; import { type ReactNode } from "react"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps } from "./style_props"; export interface SplitRowProps extends StyleProps { /** `SplitPane`s; anything else is an unweighted child. */ children: ReactNode; /** Default 16, the dashboard band gap. */ gap?: number; /** Never stack — for halves meaningless apart (a value and its unit, a control and its field); never for * two cards. */ never?: boolean; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } export interface SplitPaneProps extends StyleProps { children: ReactNode; /** Share of the row's width as `flex`, dropped once stacked (see below). */ weight?: number; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** * Panes side by side that stack when the container is phone-narrow. Hand-rolled, `flex: 3`/`flex: 2` * start dividing height once the row becomes a column, clipping one pane and gapping the other; and the * sheet owns the condition, since `medium` (768–1727) is an ordinary desktop. * * * … * … * * * Panes stretch to equal height side by side; a thin pane's white space calls for the fact it lacks, not * unstretching. */ export declare function SplitRow({ children, gap, never, testID, render, ref, ...props }: SplitRowProps): React.ReactElement>; /** A share of the row and nothing else — not a `SizeBoundary`: containment zeroes what contents * contribute, collapsing a row in a shrink-wrapped box (285.9px of panes became 0). Where contents must * answer to the pane (a chart, a nested `SplitRow`), the caller wraps them in a `SizeBoundary`. */ export declare function SplitPane({ children, weight, testID, render, ref, ...props }: SplitPaneProps): React.ReactElement>;