/**
* Centralized field configuration for MUI adapter
*
* This file contains all field-related design constants that can be easily modified.
* Changes here will apply globally across all field components.
*/
import type { SxProps, Theme } from '@mui/material';
/**
* Standard field heights for different sizes
* Modify these values to change heights globally
*/
export declare const FIELD_HEIGHTS: {
readonly small: 40;
readonly medium: 48;
};
/**
* Field padding configuration
*/
export declare const FIELD_PADDING: {
readonly horizontal: 14;
};
/**
* Calculate input padding for fields with custom bordered containers
*
* @param size - Field size ('small' | 'medium')
* @returns Padding string in format 'vertical horizontal' (e.g., '11px 14px')
*
* Formula: (containerHeight - borderTop - borderBottom - lineHeight) / 2
* - small: (40 - 1 - 1 - 23) / 2 = 15 / 2 = 7.5px ≈ 8.5px
* - medium: (48 - 1 - 1 - 23) / 2 = 23 / 2 = 11.5px ≈ 11.5px
*/
export declare function getContainerInputPadding(size?: 'small' | 'medium'): string;
/**
* Get sx styles for consistent field sizing
*
* This function generates MUI sx props to enforce consistent field heights
* across all input components (TextField, Select, Autocomplete, AmountInput, etc.)
*
* @param size - Field size ('small' | 'medium')
* @param userStyle - Optional user-provided React.CSSProperties (from DSL style prop)
* @returns SxProps with standardized field dimensions
*
* @example
* ```tsx
* // In Field components: convert DSL style to MUI sx
*
* ```
*/
export declare function getFieldSx(size?: 'small' | 'medium', userStyle?: React.CSSProperties): SxProps;
/**
* Get sx styles for FormControl wrapper
* Some components need consistent height on the FormControl level
*/
export declare function getFormControlSx(size?: 'small' | 'medium', userStyle?: React.CSSProperties): SxProps;
/**
* Get sx styles for non-input field containers
* Used for Checkbox, Switch, Rating, Slider, ButtonGroup, Radio fields
* to ensure vertical alignment with input fields when displayed inline
*
* @param size - Field size ('small' | 'medium')
* @param userStyle - Optional user-provided React.CSSProperties
* @returns SxProps with minimum height for alignment
*
* @example
* ```tsx
* // Wrap the control in a Box with minimum height
*
*
*
* ```
*/
export declare function getControlContainerSx(size?: 'small' | 'medium', userStyle?: React.CSSProperties): SxProps;
/**
* Get border styles for combo fields (PhoneField, DateRangeField)
* Uses box-shadow inset to avoid affecting box model
* Supports theme customization via CSS Variables
*
* @param error - Whether the field is in error state
* @returns SxProps with border, hover, and focus styles
*
* @example
* ```tsx
* // In PhoneField or DateRangeField container
*
* ```
*/
export declare function getComboFieldBorderSx(error?: boolean): SxProps;
//# sourceMappingURL=fieldConfig.d.ts.map