import { type ReactNode } from "react"; import { type TextStyle, type LayoutStyle } from "../../style/index.js"; export type Orientation = "horizontal" | "vertical"; export type Emphasis = "soft" | "default" | "strong"; export interface DividerSkin { /** Rule thickness in px (height of a horizontal/flank rule, width of a vertical rule). */ ruleThickness: number; /** Gap between a flanking hairline and the centered label/action node. */ labelGap: number; /** The centered label type (size / line-height / weight / tracking). */ labelType: TextStyle; /** An `inset` vertical rule's own length in px, centred in its row instead of stretching to it. */ insetLength: number; /** The space an `inset` vertical rule keeps on each side, in px. */ insetMargin: number; } export interface DividerProps { /** * Optional middle content. With children, a horizontal divider renders a * flanking-line + centered-label row (the "with label" / "with action" * patterns). A string renders as the uppercase mono caption label; arbitrary nodes (e.g. a * button) render as-is for the action pattern. Ignored when `vertical`. */ children?: ReactNode; horizontal?: boolean; vertical?: boolean; /** A quieter rule: the hairline at 60% of its strength. */ soft?: boolean; /** A firmer rule: the `field-border` line, twice the hairline's strength. */ strong?: boolean; /** * Vertical only: a short rule (18 px) centred in its row with 4 px kept on each side, * instead of a rule that stretches to the row's height. The separator between groups * in a toolbar or a floating bar. A horizontal divider ignores it. */ inset?: boolean; /** E2E hook forwarded to the root element. */ testID?: string; /** Composition within a parent only, never a restyle hook and never a width: the parent layout container provides the bounds. */ style?: LayoutStyle; } export declare function orientationOf(p: DividerProps): Orientation; export declare function emphasisOf(p: DividerProps): Emphasis; export declare function createDivider(skin: DividerSkin): (props: DividerProps) => import("react").JSX.Element; //# sourceMappingURL=divider.shared.d.ts.map