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