import { type ReactNode } from "react"; import { type MeasureProps, type StyleProp, type ViewStyle, type WidthKey } from "../../style/index.js"; import { type FlexSkin } from "../layout/layout.styles.js"; import { type Pad } from "../layout/layout.shared.js"; /** The measure a Container resolves: a step of the width scale, or `fluid` for none. */ export type Measure = WidthKey | "fluid"; /** The default measure: no cap, the container conforms to its parent. */ export declare const FLUID: Measure; export interface ContainerProps extends MeasureProps { children?: ReactNode; /** No cap, the default: the container spans its parent. Explicit `fluid` wins over every step when several are passed. */ fluid?: boolean; padTight?: boolean; pad?: boolean; padLoose?: boolean; /** E2E hook forwarded to the root element. */ testID?: string; /** * Layout containers are the exception to the no-sizing rule: for composition * inside an app frame only (a `flex` in a screen shell), never a restyle hook. */ style?: StyleProp; } /** The measure a Container's props resolve to: `fluid`, else the narrowest step passed, else `fluid`. */ export declare function measureOf(p: ContainerProps): Measure; export declare function padOf(p: ContainerProps): Pad | null; /** The root style for a measure: full width, capped at the step, centered or pinned to the start. */ export declare function containerStyle(measure: Measure, start: boolean): ViewStyle; /** Build a Container component from a platform skin (the shared padding scale). */ export declare function createContainer(skin: FlexSkin): (props: ContainerProps) => import("react").JSX.Element; //# sourceMappingURL=container.shared.d.ts.map