/**
 * Determine if all items of an array are set to a type
 *
 * @param arr - The array to test
 * @returns The result
 *
 * @example
 * arrayHasAllElementsSet<number>([1, 4, 6])             // Returns: true
 * arrayHasAllElementsSet<number>([1, null, 6])          // Returns: false
 * arrayHasAllElementsSet<number, string>([1, 'foo', 8]) // Returns: true
 */
export declare function arrayHasAllElementsSet<A>(arr: [A | undefined | null]): arr is [A];
export declare function arrayHasAllElementsSet<A, B>(arr: [A | undefined | null, B | undefined | null]): arr is [A, B];
export declare function arrayHasAllElementsSet<A, B, C>(arr: [A | undefined | null, B | undefined | null, C | undefined | null]): arr is [A, B, C];
export declare function arrayHasAllElementsSet<A, B, C, D>(arr: [A | undefined | null, B | undefined | null, C | undefined | null, D | undefined | null]): arr is [A, B, C, D];
