export declare namespace Arrays {
    function pushDistinct<T extends {}>(items: T[], item: T, eq: (item1: T, item2: T) => boolean): {
        items: T[];
        index: number;
    };
    function pushDistinct<T extends string | number>(items: T[], item: T): {
        items: T[];
        index: number;
    };
    function upsert<T extends {}>(items: T[], item: T, eq: (item1: T, item2: T) => boolean): {
        items: T[];
        index: number;
    };
    function merge<T extends {}>(items1: T[], items2: T[], eq: (item1: T, item2: T) => boolean): T[];
    function mergePrimitive<T extends string | number>(items1: T[], items2: T[]): T[];
}
