import { ColumnNestedValueFormatterProps } from './types';
/**
 * Hook para crear una columna que muestra valores de propiedades anidadas.
 * @param props - Configuración del formatter
 * @param props.fieldValue - Ruta a la propiedad usando dot notation (ej: 'user.profile.name')
 * @param props.Component - Componente opcional para envolver el valor (default: React.Fragment)
 * @param props.defaultValue - Valor a mostrar si es null/undefined (default: '-')
 * @returns Objeto con { formatter, customFilter, customSort } para usar en la columna
 * @example
 * // Datos de ejemplo en el DataGrid:
 * // [
 * //   { id: 1, nestedValue: { value: 'Activo' } },
 * //   { id: 2, nestedValue: { value: null } },
 * //   { id: 3, nestedValue: { value: 'Pendiente' } },
 * // ]
 *
 * // Crear la columna con el hook
 * const nestedColumn = useColumnNestedValue<RowType>({
 *   fieldValue: 'nestedValue.value',
 *   defaultValue: 'N/A', // Opcional, por defecto es '-'
 * });
 *
 * // Usar en la definición de columnas
 * const columns = [
 *   {
 *     key: 'nestedValue',
 *     name: 'Estado',
 *     type: 'custom',
 *     ...nestedColumn, // Spread incluye formatter, customFilter y customSort
 *   }
 * ];
 *
 * // Resultado en el DataGrid:
 * // Fila 1: "Activo"
 * // Fila 2: "N/A"     (porque el valor es null)
 * // Fila 3: "Pendiente"
 */
export declare const useColumnNestedValue: <TRow>(props: ColumnNestedValueFormatterProps<TRow>) => {
    formatter: (formatterProps: import('react-data-grid').RenderCellProps<TRow, unknown>) => import("@emotion/react/jsx-runtime").JSX.Element;
    renderGroupCell: (groupProps: import('react-data-grid').RenderGroupCellProps<TRow, unknown>) => import("@emotion/react/jsx-runtime").JSX.Element;
    customFilter: (row: TRow, value: string) => any;
    customSort: (a: TRow, b: TRow) => 0 | 1 | -1;
};
//# sourceMappingURL=useColumnNestedValue.d.ts.map