import * as IR from "../../ir"; import { XorShift } from "../../utils/xorshift"; import { CrochetModule, CrochetValue, Environment, State, Tree, TreeMany, TreeOne, TreeType } from "../intrinsics"; import { Pattern } from "./unification"; export declare function materialise_type(type: IR.RelationType[]): TreeType; export declare function materialise(type: TreeType): TreeOne | TreeMany | import("../intrinsics").TreeEnd; export declare function insert(tree: Tree, values: CrochetValue[]): boolean; export declare function remove(tree: Tree, values: CrochetValue[]): { changed: boolean; tree: Tree | null; }; export declare function search(state: State, module: CrochetModule, env: Environment, tree: Tree, patterns: Pattern[]): Environment[]; export declare function sample(state: State, module: CrochetModule, random: XorShift, size: number, env: Environment, tree: Tree, patterns: Pattern[]): Environment[];