import { HKT, Type, URIS } from 'fp-ts/lib/HKT'; import { Concattable, Pushable, Predicate, Filterable, Function1, Functor } from './helper-types'; /** * Calls `concat` on an array or a concattable. Also typed to work well with tuples. * * @export * @template Input * @template A * @param {[A]} arr * @param {Input} item * @returns {[A,Input]} */ export declare function concat(arr: [A], item: Input): [A, Input]; export declare function concat(arr: [A, B], item: Input): [A, B, Input]; export declare function concat(arr: [A, B, C], item: Input): [A, B, C, Input]; export declare function concat(arr: [A, B, C, D], item: Input): [A, B, C, D, Input]; export declare function concat(arr: [A, B, C, D, E], item: Input): [A, B, C, D, E, Input]; export declare function concat(arr: [A, B, C, D, E, F], item: Input): [A, B, C, D, E, F, Input]; export declare function concat(arr: [A, B, C, D, E, F, G], item: Input): [A, B, C, D, E, F, G, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H], item: Input): [A, B, C, D, E, F, G, H, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I], item: Input): [A, B, C, D, E, F, G, H, I, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J], item: Input): [A, B, C, D, E, F, G, H, I, J, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L], item: Input): [A, B, C, D, E, F, G, H, I, J, L, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z], item: Input): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Input]; export declare function concat(arr: [A]): (item: Input) => [A, Input]; export declare function concat(arr: [A, B]): (item: Input) => [A, B, Input]; export declare function concat(arr: [A, B, C]): (item: Input) => [A, B, C, Input]; export declare function concat(arr: [A, B, C, D]): (item: Input) => [A, B, C, D, Input]; export declare function concat(arr: [A, B, C, D, E]): (item: Input) => [A, B, C, D, E, Input]; export declare function concat(arr: [A, B, C, D, E, F]): (item: Input) => [A, B, C, D, E, F, Input]; export declare function concat(arr: [A, B, C, D, E, F, G]): (item: Input) => [A, B, C, D, E, F, G, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H]): (item: Input) => [A, B, C, D, E, F, G, H, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I]): (item: Input) => [A, B, C, D, E, F, G, H, I, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Input]; export declare function concat(arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]): (item: Input) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Input]; export declare function concat(acc: ConcatArray, item: A): ConcatArray; export declare function concat(acc: ConcatArray): (item: A) => ConcatArray; export declare function concat(acc: Concattable, item: A): Concattable; export declare function concat(acc: Concattable): (item: A) => Concattable; export declare function concat(arr: A[], item: A): A[]; export declare function concat(arr: A[]): (item: A) => A[]; export declare function concat(arr: A): (item: B) => (A & B)[]; /** * Flips the order of parameters of `concat` which calls `concat` * on an array or a concattable. Also typed to work well with tuples. * @export * @template Input * @template A * @param {Input} item * @param {[A]} arr * @returns {[A,Input]} */ export declare function flipConcat(item: Input, arr: [A]): [A, Input]; export declare function flipConcat(item: Input, arr: [A, B]): [A, B, Input]; export declare function flipConcat(item: Input, arr: [A, B, C]): [A, B, C, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D]): [A, B, C, D, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E]): [A, B, C, D, E, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F]): [A, B, C, D, E, F, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G]): [A, B, C, D, E, F, G, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H]): [A, B, C, D, E, F, G, H, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I]): [A, B, C, D, E, F, G, H, I, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J]): [A, B, C, D, E, F, G, H, I, J, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L]): [A, B, C, D, E, F, G, H, I, J, L, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M]): [A, B, C, D, E, F, G, H, I, J, L, M, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N]): [A, B, C, D, E, F, G, H, I, J, L, M, N, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Input]; export declare function flipConcat(item: Input, arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]): [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Input]; export declare function flipConcat(item: Input): (arr: [A]) => [A, Input]; export declare function flipConcat(item: Input): (arr: [A, B]) => [A, B, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C]) => [A, B, C, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D]) => [A, B, C, D, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E]) => [A, B, C, D, E, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F]) => [A, B, C, D, E, F, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G]) => [A, B, C, D, E, F, G, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H]) => [A, B, C, D, E, F, G, H, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I]) => [A, B, C, D, E, F, G, H, I, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J]) => [A, B, C, D, E, F, G, H, I, J, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L]) => [A, B, C, D, E, F, G, H, I, J, L, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M]) => [A, B, C, D, E, F, G, H, I, J, L, M, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Input]; export declare function flipConcat(item: Input): (arr: [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]) => [A, B, C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Input]; export declare function flipConcat(item: A, acc: ConcatArray): ConcatArray; export declare function flipConcat(item: A): (acc: ConcatArray) => ConcatArray; export declare function flipConcat(item: A, acc: Concattable): Concattable; export declare function flipConcat(item: A): (acc: Concattable) => Concattable; export declare function flipConcat(item: A, arr: A[]): A[]; export declare function flipConcat(item: A): (arr: A[]) => A[]; export declare function flipConcat(item: B): (arr: A) => (A & B)[]; declare module 'fp-ts/lib/HKT' { interface URI2HKT { 'Array': Array; } } export declare function push(acc: A[]): (a: A) => A; export declare function push(acc: Pushable): (item: A) => Pushable; /** * Takes a function and a filterable and returns said filterable after transformation * (a -> bool) -> c a -> c a */ export declare function filter(fn: Predicate, functor: HKT & Filterable): Type; export declare function filter(fn: Predicate): (functor: HKT & Filterable) => Type; /** * Takes a function and a functor and lifts function over values in functor * (a -> b) -> f a -> f b */ export declare function map(fn: Function1, functor: HKT & Functor): Type; export declare function map(fn: Function1): (functor: HKT & Functor) => Type;