import type { clone } from '../../../clone/index.js'; import type { ArrowCallable, Callable } from '../../index.js'; import type { ProtoCallable } from '../proto/index.js'; export type __unused_EmptyArrowCallable = ProtoCallable | typeof clone; /** * Create a function with no own properties * * - ✅ Works with {@link clone}() * - ✅ Cleans-up all own properties * - ❌ Does not allow `this` * - ❌ Does not work with `Proxy` (if needed, @see {@link ProtoCallable}) * * @example * * ```ts * const a = EmptyArrowCallable((n: number) => 2 * n) * * expect(a(2)).toBe(4) * ``` * * @param func - Call implementation */ export declare function EmptyArrowCallable = Callable<{ this: void; }>>(func: Func): EmptyArrowCallable; export type EmptyArrowCallable = Callable<{ this: void; }>> = ArrowCallable; //# sourceMappingURL=EmptyArrowCallable.d.ts.map