import { Arity1, Is, Predicate } from '@typed/lambda'; /** * If-else statement for functions. * @param predicate :: (a -> boolean) * @param thenFn :: (a -> b) * @param elseFn :: (a -> b) * @param value :: a * @returns :: b */ export declare const ifElse: IfElseFn; export interface IfElseFn { (predicate: Is, thenFn: Arity1, elseFn: Arity1, value: A): C; (predicate: Predicate, thenFn: Arity1, elseFn: Arity1, value: A): B; (predicate: Is, thenFn: Arity1, elseFn: Arity1): (value: A) => C; (predicate: Predicate, thenFn: Arity1, elseFn: Arity1): (value: A) => B; (predicate: Is, thenFn: Arity1): { (elseFn: Arity1, value: A): C; (elseFn: Arity1): (value: A) => C; }; (predicate: Predicate, thenFn: Arity1): { (elseFn: Arity1, value: A): B; (elseFn: Arity1): (value: A) => B; }; (predicate: Is): { (thenFn: Arity1, elseFn: Arity1, value: A): C; (thenFn: Arity1, elseFn: Arity1): (value: A) => C; (thenFn: Arity1): { (elseFn: Arity1, value: A): C; (elseFn: Arity1): (value: A) => C; }; }; (predicate: Predicate): { (thenFn: Arity1, elseFn: Arity1, value: A): B; (thenFn: Arity1, elseFn: Arity1): (value: A) => B; (thenFn: Arity1): { (elseFn: Arity1, value: A): B; (elseFn: Arity1): (value: A) => B; }; }; } //# sourceMappingURL=ifElse.d.ts.map