/** * IndexedDB-backed storage for AG Grid column state. * * Column states are keyed by a grid identifier + width bucket so that * different container widths (monitor switch, sidebar collapse) each * get their own persisted layout. * * Each entry stores `{ state, lastAccessedAt }`. The timestamp is updated * on every read and write, enabling time-based cleanup of stale entries. */ export declare function loadColumnState(gridKey: string, bucket: number): Promise; export declare function saveColumnState(gridKey: string, bucket: number, state: unknown[]): Promise; export declare function getSavedBuckets(gridKey: string): Promise; export declare function deleteColumnState(gridKey: string, bucket: number): Promise; export declare function deleteAllColumnStates(gridKey: string): Promise; /** * Remove column state entries that haven't been read or written * within the specified number of days. * * Call once at application startup to prevent unbounded growth. * * @param maxAgeDays - Maximum age in days. Entries older than this are deleted. * @returns Number of deleted entries. * * @example * ```ts * // main.ts — clean up entries older than 6 months * import { cleanupColumnStates } from '@cocoar/vue-data-grid'; * cleanupColumnStates(180); * ``` */ export declare function cleanupColumnStates(maxAgeDays: number): Promise; export declare function toBucket(width: number, bucketSize: number): number; export declare function findNearestBucket(target: number, savedBuckets: number[]): number | null; export type ColumnStateListener = (state: unknown[], senderId: number) => void; /** Generate a unique instance ID for a grid builder */ export declare function createPersistenceInstanceId(): number; /** Subscribe to column state changes from other grids with the same key */ export declare function onColumnStateChanged(gridKey: string, instanceId: number, listener: ColumnStateListener): () => void; /** Notify other grids with the same key about a column state change */ export declare function broadcastColumnState(gridKey: string, senderId: number, state: unknown[]): void; //# sourceMappingURL=column-state-storage.d.ts.map