export declare class Placeholder { } export declare const _: Placeholder; export declare const isPlaceholder: (placeholder: any) => placeholder is Placeholder; export declare const pappSlots: (...placeholders: any[]) => (fn: (...a: any[]) => A) => (...fillers: any[]) => A; /** * Works on conjunction with `_` (a `Placeholder` instance) from this library * to provide a placeholder parameter that will be invoked at a later time. * @param fn foobar * @example * import { _, placeholder } from 'soultrain' * const friendlyTemplate = (name: string, message: string) : string => `Hello ${name}! ${message}` * const welcome = placeholder( friendlyTemplate, _ ,'Welcome to Oregon!') * welcome('Roxanne') // Hello Roxanne! Welcome to Oregon! * */ export declare function placeholder(fn: (a: A, b: B) => Z, a: Placeholder, b: B): (p: A) => Z; export declare function placeholder(fn: (a: A, b: B) => Z, a: A, b: Placeholder): (p: B) => Z; export declare function placeholder(fn: (a: A, b: B, c: C) => Z, a: Placeholder, b: B, c: C): (p: A) => Z; export declare function placeholder(fn: (a: A, b: B, c: C) => Z, a: A, b: Placeholder, c: C): (p: B) => Z; export declare function placeholder(fn: (a: A, b: B, c: C) => Z, a: A, b: B, c: Placeholder): (p: C) => Z; export declare function placeholder(fn: (a: A, b: B, c: C, d: D) => Z, a: Placeholder, b: B, c: C, d: D): (p: A) => Z; export declare function placeholder(fn: (a: A, b: B, c: C, d: D) => Z, a: A, b: Placeholder, c: C, d: D): (p: B) => Z; export declare function placeholder(fn: (a: A, b: B, c: C, d: D) => Z, a: A, b: B, c: Placeholder, d: D): (p: C) => Z; export declare function placeholder(fn: (a: A, b: B, c: C, d: D) => Z, a: A, b: B, c: C, d: Placeholder): (p: D) => Z; export declare function placeholder(fn: (a: A, b: B, c: C, d: D, e: E) => Z, a: Placeholder, b: B, c: C, d: D, e: E): (p: A) => Z; export declare function placeholder(fn: (a: A, b: B, c: C, d: D, e: E) => Z, a: A, b: Placeholder, c: C, d: D, e: E): (p: B) => Z; export declare function placeholder(fn: (a: A, b: B, c: C, d: D, e: E) => Z, a: A, b: B, c: Placeholder, d: D, e: E): (p: C) => Z; export declare function placeholder(fn: (a: A, b: B, c: C, d: D, e: E) => Z, a: A, b: B, c: C, d: Placeholder, e: E): (p: D) => Z; export declare function placeholder(fn: (a: A, b: B, c: C, d: D, e: E) => Z, a: A, b: B, c: C, d: D, e: Placeholder): (p: E) => Z; export declare function papp(fn: (...a: B[]) => A, ...partials: B[]): (...args: B[]) => A; export declare function papp(fn: (...a: B[]) => A): (...partials: B[]) => (...args: B[]) => A; export declare function pappRight(fn: (...a: B[]) => A, ...partials: any[]): (...args: B[]) => A; export declare function pappRight(fn: (...a: B[]) => A): (...partials: any[]) => (...args: B[]) => A; export declare const pappSlotsCurried: (...placeholders: any[]) => (fn: any) => (...fills: any[]) => any;