export declare class Affix { size: number; len: number; a: A; b: A; c: A; d: A; constructor(size: number, len: number, a: A, b?: A, c?: A, d?: A); toArray(): A[]; get(idx: number): A; } export declare class NNode { size: number; three: boolean; a: A; b: A; c: A; constructor(size: number, three: boolean, a: A, b: A, c?: A); get(idx: number): A; } export declare class FingerTree { depth: number; size: number; prefix: Affix; deeper: FingerTree>; suffix: Affix; constructor(depth: number, size: number, prefix: Affix, deeper: FingerTree>, suffix: Affix); } export declare const nil: FingerTree; export declare function prepend(a: A, t: FingerTree): FingerTree; export declare function nrPrepend(depth: number, size: number, a: A, t: FingerTree): FingerTree; export declare function append(a: A, t: FingerTree): FingerTree; export declare function size(t: FingerTree): number; export declare function concat(t1: FingerTree, t2: FingerTree): FingerTree; export declare function get(idx: number, tree: FingerTree): A; export declare function foldl(f: (b: B, a: A) => B, initial: B, list: FingerTree): B; export declare function toArray(t: FingerTree): A[];