import type { ImageStyle, StyleProp, TextStyle, ViewStyle } from 'react-native'; /** * Create a style that will be applied based on a given `condition` * * @template T The schema of the style to apply based on the `condition` * @param condition The condition to determine whether a `style` * should be applied oer not * @param style The style to apply based on the given condition * @param elseStyle The style to apply if the condition is not met * @return If the condition is true then this returns the `style` otherwise * an empty object. * @example * const useStyles = makeStyles(({ props }) => ({ * root: conditionalStyle(props?.wide, { flex: 1 }) * })); */ export declare const conditionalStyle: (condition: boolean | undefined, style: T, elseStyle?: T | undefined) => {} | T; /** * Extracts the styles that are affected by the parent * * @param style the style to extract host styles from * @return a tuple with the extracted styles * @example * ```jsx * // self styles = padding, margin, display(flex), flex, flexDirection, etc. * const original = ( * * * * ); * * // Extract styles that require being under the direct parent * const [host, selfWithoutHost] = extractHostStyles(self); * * // Extract styles that requiring being above children * const [container, selfUpdated] = extractContainerStyles(selfWithoutHost); * * // Should match the styling of original * const enhanced = ( * * * * * * * * ); * ``` */ export declare const extractHostStyles: (style?: StyleProp) => readonly [Partial, Partial]; /** * Extracts the styles that affect the direct children * * @param style the style to extract nested styles from * @return a tuple with the extracted styles * @example * ```jsx * // self styles = padding, margin, display(flex), flex, flexDirection, etc. * const original = ( * * * * ); * * // Extract styles that require being under the direct parent * const [host, selfWithoutHost] = extractHostStyles(self); * * // Extract styles that requiring being above children * const [container, selfUpdated] = extractContainerStyles(selfWithoutHost); * * // Should match the styling of original * const enhanced = ( * * * * * * * * ); * ``` */ export declare const extractContainerStyles: (style?: StyleProp) => [Partial, Partial]; export declare const extractSandwichedStyles: (style?: StyleProp) => [Partial, Partial, Partial];