import { CdrSurfaceProps } from '../components/surface/types'; import { CdrSurfaceNavigationProps } from '../components/surfaceNavigation/types'; import { CdrSurfaceSelectionProps } from '../components/surfaceSelection/types'; import { Layout } from '../components/layout/types'; /** * Generates data attributes for surface component styling. * * Converts surface prop values into data attributes that are consumed by * the surface CSS module. Handles both simple string values and complex * state-based objects (hover, active, checked, etc.). * * @param props - Surface component props containing style configuration * @returns Object containing data-* attributes for the surface element * * @example * // Simple string values * getSurfaceProps({ background: 'primary', borderColor: 'secondary' }) * // => { * // 'data-palette': undefined, * // 'data-background': 'primary', * // 'data-border-color': 'secondary' * // } * * @example * // State-based values * getSurfaceProps({ * background: { rest: 'primary', hover: 'secondary' }, * palette: 'sandstone' * }) * // => { * // 'data-palette': 'sandstone', * // 'data-background': 'primary', * // 'data-background-hover': 'secondary' * // } */ export declare function getSurfaceProps(props: CdrSurfaceProps | CdrSurfaceNavigationProps | CdrSurfaceSelectionProps): Record; /** * Creates a default layout configuration with sensible defaults. * * Provides a base layout configuration that can be overridden with custom values. * Used by layout-based components to ensure consistent default behavior. * * @param defaults - Optional custom default values to merge * @returns Layout configuration object * * @example * getDefaultLayout() * // => { flow: 'column', gap: 'three-eighth-x' } * * @example * getDefaultLayout({ gap: 'one-x', align: 'center' }) * // => { flow: 'column', gap: 'one-x', align: 'center' } */ export declare const getDefaultLayout: (defaults?: Partial) => Layout;