/** @module function/bind.ts */ /** * Bind partially applies parameters to a function but does * not execute it even if all required parameters are passed. * One can repeatedly use bind, however, `curry` may be a better * choice for that case. * @example * const addThree = (a: number, b: number, c: number ) => a + b + c * const bound2 = bind( addThree, 1, 2 ) * const result = bound2( 3 ) // 6 */ export declare function bind, Z>(fn: (a: A, ...args: Y) => Z, a: A): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, ...args: Y) => Z, a: A, b: B): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, ...args: Y) => Z, a: A, b: B, c: C): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, ...args: Y) => Z, a: A, b: B, c: C, d: D): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V, w: W, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V, w: W): (...args: Y) => Z; export declare function bind, Z>(fn: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V, w: W, x: X, ...args: Y) => Z, a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V, w: W, x: X): (...args: Y) => Z; export default bind;