import { BoxProps, Factory, MantineSize, StyleProp, StylesApiProps } from '@mantine/core'; import React from 'react'; export type ReflectionStylesNames = 'root' | 'reflection'; export type ReflectionCssVariables = { root: '--shadow-offset' | '--shadow-opacity' | '--shadow-blur' | '--shadow-color'; reflection: '--reflection-distance' | '--reflection-opacity' | '--reflection-start' | '--reflection-end' | '--reflection-stretch' | '--reflection-blur'; }; export interface ReflectionBaseProps { /** Disable the children in the reflection copy to prevent interaction */ disableChildren?: boolean; /** The distance of the reflection from the original element, supports responsive values */ reflectionDistance?: StyleProp; /** The opacity of the reflection, supports responsive values */ reflectionOpacity?: StyleProp; /** The start of the reflection (gradient) */ reflectionStart?: number; /** The end of the reflection (gradient) */ reflectionEnd?: number; /** The stretch of the reflection. You may want to adjust `reflectionDistance` accordingly */ reflectionStretch?: number; /** The blur of the reflection in pixels, supports responsive values. The reflection is padded to prevent blur clipping. @default 0 */ reflectionBlur?: StyleProp; /** Enable water ripple distortion effect on the reflection @default false */ ripple?: boolean; /** Ripple distortion strength (1-50) @default 4 */ rippleStrength?: number; /** Ripple wave frequency — higher values produce more waves @default 0.01 */ rippleFrequency?: number; /** Ripple animation speed (0.1-10), higher = faster. 0 for static. @default 3 */ rippleSpeed?: number; /** Number of noise octaves (1-4). Higher = more detail but heavier. @default 1 */ rippleOctaves?: number; /** Noise seed for reproducible patterns @default 1 */ rippleSeed?: number; /** Enable/disable shadow effect @default true */ shadow?: boolean; /** The offset of the shadow */ shadowOffset?: number; /** The opacity of the shadow */ shadowOpacity?: number; /** The blur of the shadow */ shadowBlur?: number; /** The color of the shadow. Set to 'auto' for automatic light/dark mode switching @default 'black' */ shadowColor?: string; /** The scale of the shadow in the x-axis */ shadowScaleX?: number; /** The scale of the shadow in the y-axis */ shadowScaleY?: number; /** The size of the shadow, supports responsive values */ shadowSize?: StyleProp; /** Children to reflect */ children?: React.ReactNode; } export interface ReflectionProps extends BoxProps, ReflectionBaseProps, StylesApiProps { } export type ReflectionFactory = Factory<{ props: ReflectionProps; ref: HTMLDivElement; stylesNames: ReflectionStylesNames; vars: ReflectionCssVariables; }>; export declare const defaultProps: Partial; export declare const Reflection: import("@mantine/core").MantineComponent<{ props: ReflectionProps; ref: HTMLDivElement; stylesNames: ReflectionStylesNames; vars: ReflectionCssVariables; }>;