import type { AstNodeBase, AstNodeLayout, ProgramPropertyDeclarationNode } from "@/types";
import type { ProgramDeclarationContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptToAST } from "@/services";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface ProgramDeclarationNode extends AstNodeBase {
    kind: "PROGRAM";
    properties: ProgramPropertyDeclarationNode[];
}
export declare const ProgramDeclarationNodeLayout: AstNodeLayout<ProgramDeclarationNode>[];
export declare const programDeclarationToAstNode: (instance: BattleScriptToAST, ctx: ProgramDeclarationContext) => ProgramDeclarationNode;
export declare const programDeclarationFromAstNode: (instance: BattleScriptFromAST, node: ProgramDeclarationNode, options?: VisitOptions) => string;
//# sourceMappingURL=ProgramDeclarationNode.d.ts.map