import { Accessor } from 'solid-js';
import { MaybeAccessor } from '../utils/types.js';
import 'solid-js/types/reactive/signal';

/**
 * Reactive `Array.every`
 *
 * @see https://solidjs-use.github.io/solidjs-use/shared/useArrayEvery
 * @param {Array} list - the array was called upon.
 * @param fn - a function to test each element.
 *
 * @returns {boolean} **true** if the `fn` function returns a **truthy** value for every element from the array. Otherwise, **false**.
 */
declare function useArrayEvery<T>(list: MaybeAccessor<Array<MaybeAccessor<T>>>, fn: (element: T, index: number, array: Array<MaybeAccessor<T>>) => unknown): Accessor<boolean>;

export { useArrayEvery };