;
isMockFunction, R>(fn: (...args: P) => R): fn is Mock<(...args: P) => R>;
isMockFunction(fn: unknown): fn is Mock;
fn(implementation?: T): Mock;
spyOn, V extends Required[K], A extends 'get' | 'set'>(object: T, methodKey: K, accessType: A): A extends 'get' ? SpiedGetter : A extends 'set' ? SpiedSetter : never;
spyOn | MethodLikeKeys, V extends Required[K]>(object: T, methodKey: K): V extends ClassLike | FunctionLike ? Spied : never;
private _spyOnProperty;
replaceProperty(object: T, propertyKey: K, value: T[K]): Replaced;
clearAllMocks(): void;
resetAllMocks(): void;
restoreAllMocks(): void;
private _typeOf;
mocked(source: T, options?: {
shallow: false;
}): Mocked;
mocked(source: T, options: {
shallow: true;
}): MockedShallow;
}
declare const fn: (implementation?: T) => Mock;
declare const spyOn: {
, V extends Required[K], A extends "get" | "set">(object: T, methodKey: K, accessType: A): A extends "get" ? SpiedGetter : A extends "set" ? SpiedSetter : never;
| MethodLikeKeys, V extends Required[K]>(object: T, methodKey: K): V extends ClassLike | FunctionLike ? Spied : never;
};
declare const mocked: {
(source: T, options?: {
shallow: false;
}): Mocked;
(source: T, options: {
shallow: true;
}): MockedShallow;
};
declare const replaceProperty: (object: T, propertyKey: K, value: T[K]) => Replaced;
//#endregion
export { ClassLike, ConstructorLikeKeys, FunctionLike, MethodLikeKeys, Mock, MockInstance, MockMetadata, MockMetadataType, Mocked, MockedClass, MockedFunction, MockedObject, MockedShallow, ModuleMocker, PropertyLikeKeys, Replaced, Spied, SpiedClass, SpiedFunction, SpiedGetter, SpiedSetter, UnknownClass, UnknownFunction, fn, mocked, replaceProperty, spyOn };