import type { AstNodeBase, AstNodeLayout, BlockStatementNode, ExpressionUnion } from "@/types";
import type { BattleScriptToAST } from "@/services";
import type { StateDeclarationContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface StateDeclarationNode extends AstNodeBase {
    kind: "STATE_DECLARATION";
    condition: ExpressionUnion;
    body: BlockStatementNode;
    isExported?: boolean;
}
export declare const StateDeclarationNodeLayout: AstNodeLayout<StateDeclarationNode>[];
export declare const stateDeclarationToAstNode: (instance: BattleScriptToAST, ctx: StateDeclarationContext) => StateDeclarationNode;
export declare const stateDeclarationFromAstNode: (instance: BattleScriptFromAST, node: StateDeclarationNode, _options?: VisitOptions) => string;
//# sourceMappingURL=StateDeclarationNode.d.ts.map