import { UseStateful } from '../useStateful'; export declare type UseArrayActions = { setValue: UseStateful['setValue']; add: (value: T | T[]) => void; push: (value: T | T[]) => void; pop: () => void; shift: () => void; unshift: (value: T | T[]) => void; clear: () => void; move: (from: number, to: number) => void; removeById: (id: T extends { id: string; } ? string : T extends { id: number; } ? number : unknown) => void; modifyById: (id: T extends { id: string; } ? string : T extends { id: number; } ? number : unknown, newValue: Partial) => void; removeIndex: (index: number) => void; }; export declare type UseArray = [T[], UseArrayActions]; export declare function useArray(initial: T[]): UseArray; export default useArray;