/** The system control height — every band control (chips, pills, search, * buttons) aligns to it so a toolbar row reads as one band. */ export declare const CONTROL_HEIGHT = 40; /** * THE TALLEST FIXED-HEIGHT NODE A CONTROL BAND CAN SEAT — and so the inner height * every 40px surface must afford. 6 per side of air, BORDER INCLUDED. The law is * `composition.md` §"Bands, tabs and lenses"; anything taller belongs in a row * that sets its own height rather than in a control. */ export declare const CONTROL_CONTENT_HEIGHT = 28; /** A control's own vertical inset, derived so the band seats * {@link CONTROL_CONTENT_HEIGHT} at exactly {@link CONTROL_HEIGHT}. The 1px * border is part of the 6, so a bordered surface pads by this and an unbordered * one by this + 1. */ export declare const CONTROL_PADDING_V: number; /** The narrowest a control may be and still be usable, and the floor under a * field popover's width. */ export declare const MIN_CONTROL_WIDTH = 160; /** * The narrowest a record's VALUE column may be before `DetailTable` stops * putting label and value side by side and stacks them instead. * * Deliberately larger than {@link MIN_CONTROL_WIDTH}: a control's floor asks "can * this still be operated", a value column's asks "can this still be READ" — and a * value column holds company names, addresses and reference codes. */ export declare const MIN_VALUE_WIDTH = 200; /** The system control radius — every interactive control surface wears it. A * nested element inside a padded control takes `CONTROL_RADIUS − padding` so its * corner stays CONCENTRIC with the parent's; round-by-function controls stay * full. The ladder is `constitution.md` §"5. Radius — four rungs, by ALTITUDE". */ export declare const CONTROL_RADIUS = 10; /** The radius ladder's container rung — a surface that HOLDS content rather than * one you press. A whole card being pressable does not make it a control. */ export declare const CARD_RADIUS = 14; /** The radius a SHORT surface takes — proportionate to its height, capped at the * control rung, because a fixed radius does not survive a component whose height * is data. The ratio is under a third, so the straight edge always dominates. */ export declare function proportionalRadius(height: number): number; /** * HOW FAR A ROW'S WASH EXTENDS PAST ITS CONTENT — the bleed law is * `composition.md` §"No dead rows — registers & tables". * * `marginHorizontal: -ROW_WASH_BLEED` absorbed by an equal `paddingHorizontal` is * net zero for layout, so the row's CONTENT stays on the container's edge while * the wash grows into the parent's padding. The parent must afford this much * horizontal padding; every container in the kit already clears 8. */ export declare const ROW_WASH_BLEED = 8; /** * How far a control surface insets its OWN text: 1px of border (transparent on an * inline editor at rest) plus 8px of padding. Anything that lines up with a * control's WORDS rather than with its box carries this same number — 9, not 8, * because the border counts. */ export declare const CONTROL_TEXT_INSET = 9;