import { SetStateFunction, Store } from '../types'; export interface OptimisticOptions { commit: (nextState: T, prevState: T) => Promise | void; onRollback?: (prevState: T, nextState: T, error: unknown) => void; onCommit?: (committedState: T) => void; rollbackStrategy?: 'snapshot' | 'replay'; } export interface OptimisticStore extends Store { optimistic: SetStateFunction; isPending: () => boolean; pendingCount: () => number; } export declare function optimisticMiddleware(options: OptimisticOptions): (store: Store) => OptimisticStore;