import type { AstNodeBase, AstNodeLayout, IdentifierNode, LiteralUnion } from "@/types";
import type { BattleScriptToAST } from "@/services";
import type { ProgramPropertyContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface ProgramPropertyDeclarationNode extends AstNodeBase {
    kind: "PROGRAM_PROPERTY";
    key: IdentifierNode;
    value: IdentifierNode | LiteralUnion;
}
export declare const ProgramPropertyDeclarationNodeLayout: AstNodeLayout<ProgramPropertyDeclarationNode>[];
export declare const programPropertyToAstNode: (instance: BattleScriptToAST, ctx: ProgramPropertyContext) => ProgramPropertyDeclarationNode;
export declare const programPropertyDeclarationFromAstNode: (instance: BattleScriptFromAST, node: ProgramPropertyDeclarationNode, options?: VisitOptions) => string;
//# sourceMappingURL=ProgramPropertyDeclarationNode.d.ts.map