/**
 * Создаёт массив чисел требуемой длины
 *
 * @example
 * ```ts
 * import assert from 'node:assert';
 * import { createArray } from '@vkontakte/vkjs';
 *
 * assert.deepStrictEqual(createArray(5), [0, 1, 2, 3, 4]);
 * assert.deepStrictEqual(createArray(3, 2), [2, 3, 4]);
 * ```
 *
 * @param arrayLength Длина массива
 * @param startIndex Начальный индекс (по умолчанию 0)
 */ export declare function createArray(arrayLength: number, startIndex?: number): number[];
/**
 * Вычисляет сумму элементов массива
 *
 * @example
 * ```ts
 * import assert from 'node:assert';
 * import { createArray } from '@vkontakte/vkjs';
 *
 * assert.strictEqual(sumArray([0, 1, 2, 3, 4]), 10);
 * ```
 */ export declare function sumArray(array: readonly number[]): number;
/**
 * Находит среднее арифметическое элементов массива
 *
 * @example
 * ```ts
 * import assert from 'node:assert';
 * import { createArray } from '@vkontakte/vkjs';
 *
 * assert.strictEqual(averageArray([0, 1, 2, 3, 4]), 2);
 * ```
 */ export declare function averageArray(array: readonly number[]): number;
/**
 * Возвращает новый массив с уникальными элементами
 *
 * @example
 * ```ts
 * import assert from 'node:assert';
 * import { createArray } from '@vkontakte/vkjs';
 *
 * assert.deepStrictEqual(uniqueArray([1, 1, 2, 2, 3]), [1, 2, 3]);
 * ```
 */ export declare function uniqueArray<T>(array: readonly T[]): T[];
/**
 * Возвращает новый перемешанный массив
 */ export declare function shuffleArray<T>(array: readonly T[]): T[];
/**
 * Разбивает массив на чанки
 *
 * @example
 * ```ts
 * import assert from 'node:assert';
 * import { createArray } from '@vkontakte/vkjs';
 *
 * assert.deepStrictEqual(
 *   chunkArray([1,2,3,4,5,6,7], 2),
 *   [[1,2], [3,4], [5,6], [7]],
 * );
 * ```
 */ export declare function chunkArray<T>(array: readonly T[], size: number): T[][];
/**
 * Удаляет из массива элемент по значению.
 * Если элемент был удалён – возвращает новый массив.
 *
 * @example
 *
 * omitFromArray([1, 2, 3], 3) // [1, 2]
 * omitFromArray([1, 2, 3], 5) // [1, 2, 3]
 */ export declare function omitFromArray<T>(array: T[] | undefined, value: T): T[];
/**
 * Возвращает разницу между двумя массивами.
 * Вернёт элементы, которых не хватает во втором массиве.
 *
 * @example
 *
 * difference([1, 2, 3], [1, 2, 3]) // []
 * difference([1, 2, 3], [1]) // [2, 3]
 * difference([1, 2, 3], [1, 10, 100]) // [2, 3]
 */ export declare function difference<T>(array1?: readonly T[], array2?: readonly T[]): T[];
