import { Dictionary } from "../common"; import * as Specification from "../specification"; import { SyntaxTree } from "./parser"; export declare class ModuleResolver { private _functions; private _functionModule; private _currentMoudles; constructor(); addIntrinsicFunction(name: string, func: SyntaxTree.FileBlockFunction): void; addFunction(name: string, func: SyntaxTree.FileBlockFunction): void; importFunction(module: Dictionary, name: string): void; getFunction(name: string): FunctionOverloadResolver; enterFunctionImplementation(name: string): void; leaveFunctionImplementation(name: string): void; } export declare class FunctionOverloadResolver { private _name; private _functions; constructor(name: string); addFunction(func: SyntaxTree.FileBlockFunction): void; resolveArguments(args: Specification.Expression[], kwargs: { [name: string]: Specification.Expression; }): [SyntaxTree.FileBlockFunction, Specification.Expression[]]; } export declare function typeConversionAttempt(src: Specification.Expression, dest: string): [Specification.Expression, number];