import { SizeValue } from './sizes'; import { PlatformBlocksTheme } from './types'; export type ShadowValue = SizeValue | 'none'; /** * Shadow props interface for components */ export interface ShadowProps { /** Shadow value - supports size tokens and 'none' */ shadow?: ShadowValue; } /** * Get shadow value from shadow token * @param value - Shadow value (string token or 'none') * @param theme - PlatformBlocks theme object * @returns Resolved shadow string or undefined for none */ export declare function getShadowValue(value: ShadowValue | undefined, theme: PlatformBlocksTheme): string | undefined; /** * Component-specific default shadows */ export declare const COMPONENT_SHADOW_DEFAULTS: { readonly button: ShadowValue; readonly badge: ShadowValue; readonly card: ShadowValue; readonly chip: ShadowValue; readonly modal: ShadowValue; readonly tooltip: ShadowValue; readonly alert: ShadowValue; readonly dialog: ShadowValue; readonly dropdown: ShadowValue; readonly popover: ShadowValue; readonly toast: ShadowValue; readonly fab: ShadowValue; readonly appBar: ShadowValue; readonly drawer: ShadowValue; }; /** * Get the default shadow for a specific component type */ export declare function getComponentDefaultShadow(componentType: keyof typeof COMPONENT_SHADOW_DEFAULTS): ShadowValue; /** * Create shadow styles object for React Native */ export declare function createShadowStyles(shadow: ShadowValue | undefined, theme: PlatformBlocksTheme, componentType?: keyof typeof COMPONENT_SHADOW_DEFAULTS): { boxShadow?: undefined; shadowOffset?: undefined; shadowRadius?: undefined; shadowColor?: undefined; shadowOpacity?: undefined; elevation?: undefined; } | { boxShadow: string; shadowOffset?: undefined; shadowRadius?: undefined; shadowColor?: undefined; shadowOpacity?: undefined; elevation?: undefined; } | { shadowOffset: { width: number; height: number; }; shadowRadius: number; shadowColor: string; shadowOpacity: number; elevation: number; boxShadow?: undefined; }; /** * Utility to get shadow styles with theme context */ export declare function useShadowStyles(shadow: ShadowValue | undefined, theme: PlatformBlocksTheme, componentType?: keyof typeof COMPONENT_SHADOW_DEFAULTS): { boxShadow?: undefined; shadowOffset?: undefined; shadowRadius?: undefined; shadowColor?: undefined; shadowOpacity?: undefined; elevation?: undefined; } | { boxShadow: string; shadowOffset?: undefined; shadowRadius?: undefined; shadowColor?: undefined; shadowOpacity?: undefined; elevation?: undefined; } | { shadowOffset: { width: number; height: number; }; shadowRadius: number; shadowColor: string; shadowOpacity: number; elevation: number; boxShadow?: undefined; }; declare const _default: { getShadowValue: typeof getShadowValue; createShadowStyles: typeof createShadowStyles; useShadowStyles: typeof useShadowStyles; COMPONENT_SHADOW_DEFAULTS: { readonly button: ShadowValue; readonly badge: ShadowValue; readonly card: ShadowValue; readonly chip: ShadowValue; readonly modal: ShadowValue; readonly tooltip: ShadowValue; readonly alert: ShadowValue; readonly dialog: ShadowValue; readonly dropdown: ShadowValue; readonly popover: ShadowValue; readonly toast: ShadowValue; readonly fab: ShadowValue; readonly appBar: ShadowValue; readonly drawer: ShadowValue; }; getComponentDefaultShadow: typeof getComponentDefaultShadow; }; export default _default;