import { type Condition, Match } from "./dist/index"; declare global { namespace jest { // noinspection JSUnusedGlobalSymbols interface Matchers { // values toBePromiseLike(): void; toBeConstructor(): void; toBeA(constructor: any): void; toBeAn(constructor: any): void; toExist(): void; toIntersectionEqual(other: object): void; toBeError(withMessage?: string | RegExp): void; toBeEmptyOrWhitespace(): void; // mocks & spies toHaveBeenCalledOnce(): void; toHaveBeenCalledOnceWith(...args: any[]): void; toHaveBeenCalledWith(...args: any[]): void; toHaveBeenCalledOnceWithNoArgs(): void; toHaveBeenMostRecentlyCalledWith(...args: [ typeof Match.byFn, (...a: any[]) => boolean | void ]): void; toHaveBeenMostRecentlyCalledWith(...args: [ typeof Match.byArgs, ...any[] ]): void; toHaveBeenMostRecentlyCalledWith(...args: [ typeof Match.byArgs | typeof Match.byFn, ...any[] ]): void; toHaveBeenMostRecentlyCalledWith(...args: [ any, ...any[] ]): void; // promises toBeCompleted(): Promise; toBeResolved(message?: string, timeout?: number): Promise; toBeRejected(message?: string, timeout?: number): Promise; // file system toBeFile(): void; toBeFolder(): void; toHaveContents(expected: string | Buffer): void; // collections toBeEquivalentTo(other: T[]): void; toHaveKey(key: string): void; toHaveKeys(key1: string, ...keys: string[]): void; toAllMatch(fn: Condition): void; toContainElementLike(other: any): void; // DOM toHaveAttribute(attrib: string, expected?: string): void; toBeVisible(): void; toBeDisabled(): void; // errors toThrowMatching(matcher: (e: string | Error) => boolean): void; // data-matching toHaveData(expected: T): void; toHaveQueryParameter(key: string, value: string | RegExp | ((s: string) => boolean)): void; } interface Expect { toBePromiseLike(): any; toBeConstructor(): any; toBeA(constructor: any); toBeAn(constructor: any); toExist(): any; toIntersectionEqual(other: object): void; toBeError(withMessage?: string | RegExp): void; toBeEmptyOrWhitespace(): void; toBeEquivalentTo(other: T[]): void; toHaveKey(key: string): void; toHaveKeys(key1: string, ...keys: string[]): void; toAllMatch(fn: Condition): void; toContainElementLike(other: any): void; toHaveAttribute(attrib: string, expected?: string): void; toBeVisible(): void; toBeDisabled(): void; toThrowMatching(matcher: (e: string | Error) => boolean): void; toHaveData(expected: T): void; } } }