///
import 'setimmediate';
import { type Mock as JestMock } from './jest-mock';
import { browserMock } from './browser-mock';
type Mock = JestMock<(...args: A) => R>;
declare const setTimeout: (timeout: number) => void;
declare const exportedDescribe: jest.Describe;
declare const exportedIt: jest.It & {
debug: jest.It;
};
declare const retryTimes: (numRetries: number) => typeof jest | undefined;
declare const exportedExpect: (actual: T) => 0 extends 1 & T ? import("./playwright-types").Matchers : T extends import("./browser-mock").BrowserSpy ? "Browser mocks need to be awaited. Try changing `expect(spy)` to `expect(await spy)`" : import("./playwright-types").Matchers;
interface OverrideInfo {
/** The arguments passed to the function */
args: Args;
returned: Return;
/** The original spied on function */
original: Fn;
}
type Fn = (...args: Args) => R;
type OverrideFn = (callback: (info: OverrideInfo) => Return) => BrowserSpy;
export type BrowserSpy = Mock & {
override: OverrideFn;
overrideOnce: OverrideFn;
} & Promise>;
export declare const spied: >(fn: T) => (T extends Fn ? BrowserSpy : never) & T;
export { exportedDescribe as describe, exportedIt as it, exportedIt as test, setTimeout, retryTimes, exportedExpect as expect, browserMock, };
//# sourceMappingURL=jest.d.ts.map