import type { AstNodeBase, AstNodeLayout, DataTypeNode, FunctionParameterUnion, IdentifierNode } from "@/types";
import type { BattleScriptToAST } from "@/services";
import type { FunctionDeclarationContext } from "@/services/grammar/ts/language/BattleScriptParser";
export interface FunctionDeclarationNode extends AstNodeBase {
    kind: "FUNCTION_DECLARATION";
    returnType: DataTypeNode;
    id: IdentifierNode;
    params: FunctionParameterUnion[];
    isNative: boolean;
    isPure: boolean;
}
export declare const FunctionDeclarationNodeLayout: AstNodeLayout<FunctionDeclarationNode>[];
export declare const functionDeclarationToAstNode: (instance: BattleScriptToAST, ctx: FunctionDeclarationContext) => FunctionDeclarationNode;
//# sourceMappingURL=FunctionDeclarationNode.d.ts.map