import { UnificationEnvironment } from "../logic"; import { CrochetValue } from "../primitives"; import { CrochetModule } from "./module"; export declare class Environment { readonly parent: Environment | null; readonly raw_module: CrochetModule | null; readonly raw_receiver: CrochetValue | null; readonly bindings: Map; constructor(parent: Environment | null, raw_module: CrochetModule | null, raw_receiver: CrochetValue | null); get receiver(): CrochetValue; get module(): CrochetModule; has(name: string): boolean; try_lookup(name: string): CrochetValue | null; lookup(name: string): CrochetValue; define(name: string, value: CrochetValue): void; define_all(bindings: Map): void; lookup_all(names: string[]): Map; extend_with_unification(env: UnificationEnvironment): Environment; clone(): Environment; clone_with_receiver(receiver: CrochetValue | null): Environment; clone_with_module(module: CrochetModule | null): Environment; }