= K extends keyof T ? T : T & {
[k in K]: undefined;
};
/**
* Type to make TypeScript ok with accessing an unknown property,
* and just treating it as undefined if the plugin isn't loaded.
*/
export type MaybePlugin any> = Maybe>;
declare const only: {
(name: string, extra: import("@tapjs/test").TestOpts, cb: (t: import("@tapjs/test").Test) => any): import("@tapjs/core").PromiseWithSubtest>;
(name: string, cb: (t: import("@tapjs/test").Test) => any): import("@tapjs/core").PromiseWithSubtest>;
(extra: import("@tapjs/test").TestOpts, cb: (t: import("@tapjs/test").Test) => any): import("@tapjs/core").PromiseWithSubtest>;
(cb: (t: import("@tapjs/test").Test) => any): import("@tapjs/core").PromiseWithSubtest>;
};
declare const after: (fn: () => any) => void;
declare const before: (fn: () => any) => void;
declare const afterEach: (fn: (t: import("@tapjs/test").Test) => any) => void;
declare const beforeEach: (fn: (t: import("@tapjs/test").Test) => any) => void;
declare const ok: (obj: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, notOk: (obj: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, not: (found: any, doNotWant: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, type: (obj: any, klass: string | Function, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, same: (found: any, wanted: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, notSame: (found: any, doNotWant: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, strictNotSame: (found: any, doNotWant: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, has: (found: any, wanted: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, notHas: (found: any, doNotWant: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, hasStrict: (found: any, wanted: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, notHasStrict: (found: any, doNotWant: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, match: (found: any, wanted: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, notMatch: (found: any, doNotWant: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, matchOnly: (found: any, wanted: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, notMatchOnly: (found: any, doNotWant: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, matchStrict: (found: any, wanted: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, notMatchStrict: (found: any, doNotWant: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, matchOnlyStrict: (found: any, wanted: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, notMatchOnlyStrict: (found: any, doNotWant: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean, throws: (fn: Function | (() => any), ...[wanted, msg, extra]: import("@tapjs/asserts").ThrowsArgs) => boolean | Error, doesNotThrow: (fn: Function | (() => any), ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean | Error, emits: (emitter: import("events")<[never]> | EventTarget, event: string, ...[msg, extra]: import("@tapjs/core").MessageExtra) => Promise, error: (er: unknown, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean;
declare const mockRequire: (module: string, mocks?: Record | undefined) => T, mockImport: (module: string, mocks?: Record | undefined) => Promise, createMock: (bases: B, overrides: O) => import("@tapjs/mock").MockedObject;
declare const captureFn: any>(original: F) => F & {
calls: import("@tapjs/intercept").CaptureResult[];
args: () => import("@tapjs/intercept").TupleUnion>>[];
}, capture: >(obj: T, method: M, impl?: ((this: T, ...a: any[]) => any) | undefined) => import("@tapjs/intercept").CaptureResultsMethod, intercept: (obj: T, prop: keyof T, desc?: PropertyDescriptor | undefined, strictMode?: boolean | undefined) => import("@tapjs/intercept").InterceptResultsMethod;
declare const matchSnapshot: (found: any, ...[msg, extra]: import("@tapjs/core").MessageExtra) => boolean;
declare const spawn: {
(cmd: string): import("@tapjs/spawn").PromiseWithSpawn;
(cmd: string, options: import("@tapjs/spawn").SpawnOpts, name?: string | undefined): import("@tapjs/spawn").PromiseWithSpawn;
(cmd: string, args: string | string[], name?: string | undefined): import("@tapjs/spawn").PromiseWithSpawn;
(cmd: string, args: string | string[], options: import("@tapjs/spawn").SpawnOpts, name?: string | undefined): import("@tapjs/spawn").PromiseWithSpawn;
};
declare const stdin: {
(): import("@tapjs/stdin").PromiseWithStdin;
(name: string): import("@tapjs/stdin").PromiseWithStdin;
(name: string, extra: import("@tapjs/core").StdinOpts): import("@tapjs/stdin").PromiseWithStdin;
(extra: import("@tapjs/core").StdinOpts): import("@tapjs/stdin").PromiseWithStdin;
};
declare const worker: {
(filename: string): import("@tapjs/worker").PromiseWithWorker;
(filename: string, name?: string | undefined): import("@tapjs/worker").PromiseWithWorker;
(filename: string, options: import("@tapjs/core").WorkerOpts, name?: string | undefined): import("@tapjs/worker").PromiseWithWorker;
};
declare const testdir: (content?: import("@tapjs/fixture").FixtureDirContent | undefined) => string, fixture: (type: T, content: import("@tapjs/fixture").FixtureContent) => import("@tapjs/fixture").Fixture;
//# sourceMappingURL=main.d.ts.map