export default function useDynamicList(initialValue: T[]): { list: T[]; insert: (index: number, obj: T) => void; merge: (index: number, obj: T[]) => void; replace: (index: number, obj: T) => void; remove: (index: number) => void; getKey: (index: number) => number; getIndex: (index: number) => number; move: (oldIndex: number, newIndex: number) => void; push: (obj: T) => void; pop: () => void; unshift: (obj: T) => void; shift: () => void; sortForm: (result: unknown[]) => unknown[]; resetList: (newList?: T[]) => void; };