import { Context } from "./ctx"; import { Rud } from "./rud"; import { Callable, Stmt, Value } from "./values"; import { ID } from "./gen_parser"; export interface Gníomh extends Callable { bind(seo: Rud): Gníomh; } export declare class GníomhImpl implements Callable { ainm: string; private defn; private args; private ctx; constructor(ainm: string, defn: Stmt[], args: ID[], ctx: Context); bind(seo: Rud): Gníomh; arity(): number; call(args: Value[]): Promise; } export declare class GníomhWrap implements Gníomh { readonly ainm: string; private readonly ar; private readonly f; private readonly seo; constructor(ainm: string, arity: number, f: (seo: Rud, args: Value[]) => Promise, seo?: Rud); arity(): number; call(args: Value[]): Promise; bind(seo: Rud): Gníomh; }