import { IScope, IValue, TValueInstructions } from "../types"; import { VoidValue } from "../values"; declare type TFunction = (...args: IValue[]) => TValueInstructions; export declare class MacroFunction extends VoidValue { macro: boolean; constant: boolean; fn: TFunction; constructor(scope: IScope, fn: TFunction); call(scope: IScope, args: IValue[]): TValueInstructions; eval(scope: IScope): TValueInstructions; } export {};