type Selector = keyof T | ((item: T) => string); declare function sort(arr: T[], option?: { selector?: Selector; descending?: boolean; } | undefined): T[]; declare function group(arr: T[], by: Selector): { [key: string]: T[]; }; declare function insertIfNotExist(arr: T[], value: T): T[]; declare function remove(arr: T[], target: T, selector?: Selector): T[]; declare function insertOrUpdate(arr: T[], value: T, selector?: keyof T): T[]; declare function insertOrRemove(arr: T[], value: T): T[]; declare function intersperse(iterable: any[], separator: any): Generator; declare function chunk(list: T[], size: number): T[][]; export { sort, group, insertIfNotExist, remove, insertOrUpdate, insertOrRemove, intersperse, chunk };