import { TernaryTreeList } from "./types.mjs"; export declare function enableStructureCheck(enabled?: boolean): void; export declare function getDepth(tree: TernaryTreeList): number; export declare function makeTernaryTreeList(size: number, offset: number, xs: Array>): TernaryTreeList; export declare function initTernaryTreeList(xs: Array): TernaryTreeList; export declare function initTernaryTreeListFromRange(xs: Array, from: number, to: number): TernaryTreeList; export declare function initEmptyTernaryTreeList(): TernaryTreeList; export declare function listToString(tree: TernaryTreeList): string; export declare function listLen(tree: TernaryTreeList): number; export declare function formatListInline(tree: TernaryTreeList): string; export declare function listToItems(tree: TernaryTreeList): Generator; export declare function findIndex(tree: TernaryTreeList, f: (x: T) => boolean): number; export declare function indexOf(tree: TernaryTreeList, item: T): number; export declare function indexToItems(tree: TernaryTreeList): Generator; export declare function listToPairs(tree: TernaryTreeList): Generator<[number, T]>; export declare function listGet(originalTree: TernaryTreeList, originalIdx: number): T; export declare function first(tree: TernaryTreeList): T; export declare function last(tree: TernaryTreeList): T; export declare function assocList(tree: TernaryTreeList, idx: number, item: T): TernaryTreeList; export declare function dissocList(tree: TernaryTreeList, idx: number): TernaryTreeList; export declare function rest(tree: TernaryTreeList): TernaryTreeList; export declare function butlast(tree: TernaryTreeList): TernaryTreeList; export declare function insert(tree: TernaryTreeList, idx: number, item: T, after?: boolean): TernaryTreeList; export declare function assocBefore(tree: TernaryTreeList, idx: number, item: T, after?: boolean): TernaryTreeList; export declare function assocAfter(tree: TernaryTreeList, idx: number, item: T, after?: boolean): TernaryTreeList; export declare function forceListInplaceBalancing(tree: TernaryTreeList): void; export declare function prepend(tree: TernaryTreeList, item: T, disableBalancing?: boolean): TernaryTreeList; export declare function append(tree: TernaryTreeList, item: T, disableBalancing?: boolean): TernaryTreeList; export declare function concat(...xsGroups: Array>): TernaryTreeList; export declare function concat2(left: TernaryTreeList, middle: TernaryTreeList): TernaryTreeList; export declare function concat3(left: TernaryTreeList, middle: TernaryTreeList, right: TernaryTreeList): TernaryTreeList; export declare function sameListShape(xs: TernaryTreeList, ys: TernaryTreeList): boolean; export declare function listEqual(xs: TernaryTreeList, ys: TernaryTreeList): boolean; /** in some cases we disable for performance */ export declare let disableListStructureCheck: () => void; export declare function checkListStructure(tree: TernaryTreeList): boolean; export declare function slice(tree: TernaryTreeList, startIdx: number, endIdx: number): TernaryTreeList; export declare function reverse(tree: TernaryTreeList): TernaryTreeList; export declare function listMapValues(tree: TernaryTreeList, f: (x: T) => V): TernaryTreeList;