import { Maybe } from '@m4l/core';
import { RowKey, OnChangeConfig } from '../../../types';
/**
 * Persiste la configuración de anchos de las columnas del DataGrid.
 *
 * ## Flujo de persistencia
 *
 * Esta función guarda los anchos de columnas siguiendo esta lógica:
 *
 * 1. **onChangeConfig** (Cookies de red) - Método principal en producción
 * Si está disponible, envía la configuración al callback para que el consumidor
 * la persista en cookies de red. En la siguiente carga, estos datos volverán
 * como `defaultConfig` en `getColumnsWidth`.
 *
 * localStorage is not used; if no callback is configured, nothing is saved.
 *
 * ## Ciclo completo de persistencia
 *
 * ```
 * Usuario redimensiona columna
 * ↓
 * saveColumnsWidth() envía via onChangeConfig
 * ↓
 * Se persiste en cookies de red
 * ↓
 * Próxima carga: datos vienen en defaultConfig
 * ↓
 * getColumnsWidth() lee de defaultConfig
 * ```
 * @param id - Identificador único del DataGrid
 * @param storeColumnsWidth - Map con la configuración de anchos donde:
 *                            - key: identificador de la columna (column.key)
 *                            - value: ancho en píxeles (number) o string con unidad CSS
 * @param onChangeConfig - Callback para enviar la configuración a cookies de red.
 *                              Recibe un objeto con:
 *                              - reason: 'columnsWidths' (identificador del tipo de cambio)
 *                              - userConfig: Record con los anchos de columnas
 * @example
 * // Producción: Guardar mediante callback a cookies de red
 * saveColumnsWidth('my-grid', columnsWidthsMap, ({ reason, userConfig }) => {
 *   // Persistir en cookies de red
 *   setCookie(userConfig);
 * });
 * @see getColumnsWidth - Complementary function to load configuration
 * @see castMapColumnsWidthToRecord - Helper to convert Map to Record
 */
export declare function saveColumnsWidth(id: RowKey, storeColumnsWidth: Map<string, Maybe<string | number>>, onChangeConfig?: OnChangeConfig): void;
//# sourceMappingURL=saveColumnsWidth.d.ts.map