/// export declare type Side = 'start' | 'end' | 'top' | 'bottom'; export declare type Corner = 'topStart' | 'topEnd' | 'bottomStart' | 'bottomEnd'; export declare type Size = { width: number | undefined; height: number | undefined; }; export declare type CornerRadius = Record; export declare type CornerRadiusShadow = Record<`${Corner}Shadow`, number>; export declare const cornersArray: readonly ["topStart", "topEnd", "bottomStart", "bottomEnd"]; /** Rounds the given size to a pixel perfect size. */ export declare const R: (value: number) => number; /** Converts dp to pixels. */ export declare const P: (value: number) => number; /** How many pixels for each dp. scale = pixels/dp */ export declare const scale: number; /** Converts two sizes to pixel for perfect math, sums them and converts the result back to dp. */ export declare const sumDps: (a: number, b: number) => number; /** Converts two sizes to pixel for perfect math, divides them and converts the result back to dp. */ export declare const divDps: (a: number, b: number) => number; /** * [Android/ios?] [*4] A small safe margin for the svg sizes. * * It fixes some gaps that we had, as even that the svg size and the svg rect for example size were the same, this rect * would still strangely be cropped/clipped. We give this additional size to the svg so our rect/etc won't be unintendedly clipped. * * It doesn't mean 1 pixel, as RN uses dp sizing, it's just an arbitrary and big enough number. * */ export declare const additional: number; /** Auxilary function to shorten code */ export declare function objFromKeys, Rtn>(keys: KeysArray, fun: (key: KeysArray[number]) => Rtn): Record; export declare const cornerToStyle: { readonly topLeft: readonly ["borderTopLeftRadius", "borderTopStartRadius"]; readonly topRight: readonly ["borderTopRightRadius", "borderTopEndRadius"]; readonly bottomLeft: readonly ["borderBottomLeftRadius", "borderBottomStartRadius"]; readonly bottomRight: readonly ["borderBottomRightRadius", "borderBottomEndRadius"]; }; declare type RadialGradientProps = { id: string; top: boolean; left: boolean; radius: number; shadowRadius: number; startColorWoOpacity: string; startColorOpacity: number; endColorWoOpacity: string; endColorOpacity: number; paintInside: boolean; }; export declare type RadialGradientPropsOmited = Omit; export declare function radialGradient({ id, left, radius, shadowRadius, top, startColorWoOpacity, startColorOpacity, endColorWoOpacity, endColorOpacity, paintInside, }: RadialGradientProps): JSX.Element; /** * Generates a sufficiently unique suffix to add to gradient ids and prevent collisions. * * https://github.com/ftzi/react-native-shadow-2/pull/54 */ export declare const generateGradientIdSuffix: () => string; export declare const rtlScaleX: { transform: { scaleX: number; }[]; }; /** * https://github.com/ftzi/react-native-shadow-2/issues/67 */ export declare const rtlAbsoluteFillObject: { readonly position: "absolute"; readonly start: 0; readonly end: 0; readonly top: 0; readonly bottom: 0; }; export {};