/// import type { LayoutProps } from './layout'; export interface Sides { top?: number; right?: number; bottom?: number; left?: number; } export declare function sides(top: number | undefined, right: number | undefined, bottom: number | undefined, left: number | undefined): Sides; export declare type FlexLength = number | string | undefined; export interface FlexElementProps { position?: FlexPosition; left?: number | string; top?: number | string; right?: number | string; bottom?: number | string; minWidth?: number | string; maxWidth?: number | string; minHeight?: number | string; maxHeight?: number | string; marginLeft?: number | string; marginTop?: number | string; marginRight?: number | string; marginBottom?: number | string; alignSelf?: FlexAlignment; flexGrow?: number; flexShrink?: number; flexBasis?: FlexLength; crossBasis?: FlexLength; } export declare function flexElementPropsToStyle(props: FlexElementProps, parentProps: FlexParentProps, index: number, siblingsCount: number): Partial; declare type Axis = 'horizontal' | 'vertical'; export declare function getMainAxis(props: FlexParentProps): Axis; export declare function getCrossAxis(props: FlexParentProps): Axis; export declare const flexWidthValueToUse: (crossBasis: FlexLength, stretches: boolean, crossAxis: Axis) => FlexLength; export declare const flexHeightValueToUse: (crossBasis: FlexLength, stretches: boolean, crossAxis: Axis) => FlexLength; export declare function getUnstretchedWidthHeight(props: LayoutProps, parentProps: FlexParentProps): { width: FlexLength; height: FlexLength; }; export declare function getFlexSize(props: FlexElementProps, parentProps: FlexParentProps): Partial; export declare function getTLBRProps(props: FlexElementProps): Partial; export declare function getMarginProps(props: FlexElementProps, parentProps: FlexParentProps, index: number, siblingsCount: number): Partial; export interface FlexParentProps { flexDirection?: FlexDirection; alignContent?: FlexAlignment; alignItems?: FlexAlignment; justifyContent?: FlexJustifyContent; flexWrap?: FlexWrap; gapMain?: number; gapCross?: number; paddingLeft?: string | number; paddingTop?: string | number; paddingRight?: string | number; paddingBottom?: string | number; } export declare function flexParentPropsToStyle(props: FlexParentProps): Partial; export declare enum FlexAlignment { Auto = "auto", FlexStart = "flex-start", Center = "center", FlexEnd = "flex-end", Stretch = "stretch" } export declare const AllFlexAlignments: Array; export declare enum FlexJustifyContent { FlexStart = "flex-start", Center = "center", FlexEnd = "flex-end", SpaceAround = "space-around", SpaceBetween = "space-between", SpaceEvenly = "space-evenly" } export declare const AllFlexJustifyContents: Array; export declare enum FlexDirection { Column = "column", ColumnReverse = "column-reverse", Row = "row", RowReverse = "row-reverse" } export declare const AllFlexDirections: Array; export declare enum FlexWrap { NoWrap = "nowrap", Wrap = "wrap", WrapReverse = "wrap-reverse" } export declare const AllFlexWraps: Array; export declare type FlexPosition = 'absolute' | 'relative'; export declare type FlexStretch = 'none' | 'horizontal' | 'vertical'; export declare function getFlexStretchForChild(parent: FlexParentProps, child: FlexElementProps): FlexStretch; export {};