import type { Pokemon } from "#field/pokemon"; import type { PokemonType } from "#enums/pokemon-type"; import type { expect } from "vitest"; import type { toHaveTypesOptions } from "#test/test-utils/matchers/to-have-types"; declare module "vitest" { interface Assertion { /** * Matcher to check if an array contains EXACTLY the given items (in any order). * * Different from {@linkcode expect.arrayContaining} as the latter only requires the array contain * _at least_ the listed items. * * @param expected - The expected contents of the array, in any order. * @see {@linkcode expect.arrayContaining} */ toEqualArrayUnsorted(expected: E[]): void; /** * Matcher to check if a {@linkcode Pokemon}'s current typing includes the given types. * * @param expected - The expected types (in any order). * @param options - The options passed to the matcher. */ toHaveTypes(expected: PokemonType[], options?: toHaveTypesOptions): void; } }