import type { _BoundCallable, _BoundCallableWithCALL, BoundCallableInputWithCALL, IBoundCallable } from '../../index.js'; import type { WithSelfBoundCALL } from '../CALL.js'; import type { BoundCallableOptions } from './BoundCallableOptions.js'; import { UNSET } from '../../../_/symbols/unset.js'; export type BoundCallable = This extends UNSET ? IBoundCallable : This extends WithSelfBoundCALL ? _BoundCallableWithCALL : never; export type CustomBoundCallable = _BoundCallable; /** * Similar to `ArrowCallable`, but `this` of `func` is bound to self * * - ✅ Works with `clone` * - ✅ Binds `this` to self * - ❌ Does not work with `Proxy` (if needed, @see `Callable`) */ export declare function CustomBoundCallable(options: Options): CustomBoundCallable; export declare function BoundCallable(self: Self): BoundCallable; export declare function BoundCallable_(self: Self): Self extends BoundCallableInputWithCALL ? BoundCallable : never; //# sourceMappingURL=BoundCallable.d.ts.map