import type { AstNodeBase, AstNodeLayout, BlockStatementNode, IdentifierNode, LiteralStringNode, LiteralUnion, MemberExpressionNode } from "@/types";
import type { BattleScriptToAST } from "@/services";
import type { EventDeclarationContext } from "@/services/grammar/ts/language/BattleScriptParser";
export interface EventDeclarationNode extends AstNodeBase {
    kind: "EVENT_DECLARATION";
    event: IdentifierNode | MemberExpressionNode | LiteralStringNode;
    arguments: (IdentifierNode | MemberExpressionNode | LiteralUnion)[];
    body: BlockStatementNode;
}
export declare const EventDeclarationNodeLayout: AstNodeLayout<EventDeclarationNode>[];
export declare const eventDeclarationToAstNode: (instance: BattleScriptToAST, ctx: EventDeclarationContext) => EventDeclarationNode;
//# sourceMappingURL=EventDeclarationNode.d.ts.map