import type { Maybe } from "../Common";
export declare type List<T> = Maybe<ListNode<T>>;
export declare class ListNode<T> {
    readonly value: T;
    readonly prev?: List<T>;
    readonly length: number;
    constructor(value: T, prev?: List<T>);
    [Symbol.iterator](): Iterator<T>;
    append(...values: T[]): ListNode<T>;
    pop(count?: import("@altostra/common/CustomTypes/Numerics").NaturalNumber): List<T>;
    static fromIterable<T>(iterable: Iterable<T>): List<T>;
}
