import { Kind } from '@fp4ts/core'; import { Foldable } from '../../../foldable'; export declare abstract class Chain { readonly __void: void; } export declare const Empty: { readonly tag: "empty"; readonly __void: void; readonly isEmpty: boolean; readonly nonEmpty: boolean; readonly size: number; readonly head: never; readonly headOption: import("../..").Option; readonly tail: Chain; readonly last: never; readonly lastOption: import("../..").Option; readonly init: Chain; readonly popHead: import("../..").Option<[never, Chain]>; readonly uncons: import("../..").Option<[never, Chain]>; readonly popLast: import("../..").Option<[never, Chain]>; readonly toArray: never[]; readonly toList: import("..").List; readonly toVector: import("..").Vector; readonly iterator: Iterator; readonly reverseIterator: Iterator; readonly reverse: Chain; equals(this: Chain, E: import("@fp4ts/cats-kernel").Eq, that: Chain): boolean; notEquals(this: Chain, E: import("@fp4ts/cats-kernel").Eq, that: Chain): boolean; prepend(this: Chain, x: B_2): Chain; cons(this: Chain, x: B_3): Chain; '+::'(this: Chain, x: B_4): Chain; append(this: Chain, x: B_5): Chain; snoc(this: Chain, x: B_6): Chain; '::+'(this: Chain, x: B_7): Chain; concat(this: Chain, that: Chain): Chain; '+++'(this: Chain, that: Chain): Chain; deleteFirst(p: (a: never) => boolean): import("../..").Option<[never, Chain]>; filter(p: (a: never) => boolean): Chain; collect(f: (a: never) => import("../..").Option): Chain; collectWhile(f: (a: never) => import("../..").Option): Chain; map(f: (a: never) => B_12): Chain; flatMap(f: (a: never) => Chain): Chain; coflatMap(f: (as: Chain) => B_14): Chain; readonly flatten: never; align(ys: Chain): Chain>; zip(ys: Chain): Chain<[never, B_16]>; zipWith(that: Chain, f: (a: never, b: B_17) => C): Chain; readonly zipWithIndex: Chain<[never, number]>; forEach(f: (a: never) => void): void; foldLeft(z: B_18, f: (b: B_18, a: never) => B_18): B_18; foldRight(z: B_19, f: (a: never, b: B_19) => B_19): B_19; foldMap(M: import("@fp4ts/cats-kernel").Monoid): (f: (a: never) => M) => M; foldMapLeft(M: import("@fp4ts/cats-kernel").Monoid): (f: (a: never) => M_1) => M_1; folding(this: Chain, M: import("@fp4ts/cats-kernel").Monoid): AA; traverse(G: import("../../..").Applicative): (f: (a: never) => Kind) => Kind]>; traverseFilter(G: import("../../..").Applicative): (f: (a: never) => Kind]>) => Kind]>; [Symbol.iterator](): Iterator; readonly F: import("./chain").ChainF; readonly Vars: [never]; }; export type Empty = typeof Empty; export declare class Singleton extends Chain { readonly value: A; readonly tag = "singleton"; constructor(value: A); } export declare class Concat extends Chain { readonly lhs: NonEmpty; readonly rhs: NonEmpty; readonly tag = "concat"; constructor(lhs: NonEmpty, rhs: NonEmpty); } export declare class Wrap extends Chain { readonly instance: Foldable; readonly values: Kind; readonly tag = "wrap"; constructor(instance: Foldable, values: Kind); } export type NonEmpty = Singleton | Concat | Wrap; export type View = Empty | NonEmpty; export declare const view: (_: Chain) => View; //# sourceMappingURL=algebra.d.ts.map