import { EditableResolutionParam, ResolvedEditableConfig } from '../types';
/**
 * Resolves the editable configuration for a cell.
 *
 * This function handles the various formats that `editable` can take:
 * - `boolean`: Simple enable/disable
 * - `function`: Dynamic determination based on record/row
 * - `EditableConfig`: Full configuration object
 *
 * @param params - The parameters needed to resolve editability
 * @returns The resolved editable config, or null if not editable
 *
 * @example
 * ```typescript
 * const config = resolveEditableConfig({
 *   cellEdit: { onSave: handleSave },
 *   isSelectionColumn: false,
 *   isActionColumn: false,
 *   columnDef: { key: 'name', editable: true },
 *   record: { id: 1, name: 'John' },
 *   rowIndex: 0,
 * });
 * // Returns: { type: 'text' }
 * ```
 */
export default function resolveEditableConfig<T extends object>(params: EditableResolutionParam<T>): ResolvedEditableConfig;
