import TupleEntry, { ITuple } from './tuple-entry'; import { IEntry } from './table'; import Context from '../../context'; import Fact from '../../facts/fact'; export interface IIndex { [0]: string; [1]: string; [2]: (factHash: Map) => IEntry; [3]: (factHash: Map) => IEntry; [4]: string; } export interface IMemory { length: number; head: ITuple; tail: ITuple; indexes: IIndex[]; tables: TupleEntry; } export default function Memory(): IMemory; export declare function memory_push(m: IMemory, data: Context): ITuple; export declare function memory_remove(m: IMemory, node: ITuple): void; export declare function memory_clear(m: IMemory): void; export declare function memory_get(m: IMemory, tuple: Context): ITuple[]; export declare function addIndex(m: IMemory, primary: string, lookup: string, op: string): void;