type AnyFn = (...args: any[]) => any; type MethodKeys = { [K in keyof T]-?: T[K] extends AnyFn ? K : never; }[keyof T]; type BooleanKeys = { [K in keyof T]-?: T[K] extends boolean ? K : never; }[keyof T]; type AtLeastTwo = readonly [T, T, ...T[]]; type StrictParamValue = BooleanKeys | AtLeastTwo>; type StrictParams = Partial, StrictParamValue>>; type UnsafeParams = Record; declare function makeFetching>(instance: T, params: StrictParams, hasLock?: boolean): void; declare function makeFetching>(instance: T, params: UnsafeParams, hasLock?: boolean): void; export { makeFetching as default };