/**
 * Exécute une série de mises à jour en batch
 * @param updates Array de fonctions de mise à jour à exécuter
 */
export declare const batchUpdate: (updates: Array<() => void>) => void;
/**
 * Exécute une mise à jour avec debounce pour éviter les mises à jour trop fréquentes
 * @param updateFn Fonction de mise à jour à exécuter
 * @param delay Délai en ms (défaut: 16ms pour ~60fps)
 */
export declare const debouncedUpdate: (updateFn: () => void, delay?: number) => void;
/**
 * Helper pour créer une fonction de mise à jour qui peut être utilisée dans un batch
 * @param updateFn Fonction de mise à jour originale
 * @returns Fonction qui peut être utilisée dans un batch ou directement
 */
export declare const createBatchableUpdate: <T extends any[]>(updateFn: (...args: T) => void) => (...args: T) => void;
/**
 * Exécute une fonction avec des mises à jour en batch
 * @param fn Fonction à exécuter avec le système de batch
 */
export declare const withBatchUpdates: (fn: () => void) => void;
/**
 * Optimise une action complexe en la divisant en étapes batchées
 * @param steps Array d'étapes à exécuter
 * @param stepDelay Délai entre chaque étape (défaut: 0ms)
 */
export declare const executeBatchedSteps: (steps: Array<() => void>, stepDelay?: number) => Promise<void>;
