export interface UseStateHistoryHandlers { set: (value: T) => void; back: (steps?: number) => void; forward: (steps?: number) => void; reset: () => void; } export interface UseStateHistoryValue { history: T[]; current: number; } export type UseStateHistoryReturnValue = [ T, UseStateHistoryHandlers, UseStateHistoryValue ]; export declare function useStateHistory(initialValue: T): UseStateHistoryReturnValue; export declare namespace useStateHistory { type Handlers = UseStateHistoryHandlers; type Value = UseStateHistoryValue; type ReturnValue = UseStateHistoryReturnValue; }