///
import { BN, MarketTypeStr, Order } from '..';
import { DLOBNode, DLOBNodeMap } from './DLOBNode';
export type SortDirection = 'asc' | 'desc';
export declare function getOrderSignature(orderId: number, userAccount: string): string;
export interface DLOBNodeGenerator {
getGenerator(): Generator;
}
export declare class NodeList implements DLOBNodeGenerator {
private nodeType;
private sortDirection;
head?: DLOBNodeMap[NodeType];
length: number;
nodeMap: Map;
constructor(nodeType: NodeType, sortDirection: SortDirection);
clear(): void;
insert(order: Order, marketType: MarketTypeStr, userAccount: string): void;
prependNode(currentNode: DLOBNodeMap[NodeType], newNode: DLOBNodeMap[NodeType]): boolean;
update(order: Order, userAccount: string): void;
remove(order: Order, userAccount: string): void;
getGenerator(): Generator;
has(order: Order, userAccount: string): boolean;
get(orderSignature: string): DLOBNodeMap[NodeType] | undefined;
print(): void;
printTop(): void;
}
export declare function getVammNodeGenerator(price: BN | undefined): Generator;