import type { ExportSpecifierNode } from "./ExportSpecifierNode";
import type { LiteralStringNode } from "./LiteralStringNode";
import type { TokenMetaData } from "@/types/TokenMetaData";
import { EnumNodeLayoutEntry } from "@/exports/typescript/enums/EnumNodeLayoutEntry";
import type { BattleScriptToAST } from "@/services";
import type { ExportNamedContext, ExportReexportContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface ExportNamedDeclarationNode {
    kind: "EXPORT_NAMED_DECLARATION";
    specifiers: ExportSpecifierNode[];
    source: LiteralStringNode | null;
    meta?: TokenMetaData["meta"];
    comment?: string;
}
export declare const ExportNamedDeclarationNodeLayout: ({
    key: "kind";
    shape: EnumNodeLayoutEntry[];
    optional?: undefined;
} | {
    key: "specifiers";
    shape: EnumNodeLayoutEntry[];
    optional?: undefined;
} | {
    key: "source";
    optional: true;
    shape: EnumNodeLayoutEntry[];
})[];
export declare const exportNamedToAstNode: (instance: BattleScriptToAST, ctx: ExportNamedContext) => ExportNamedDeclarationNode;
export declare const exportReexportToAstNode: (instance: BattleScriptToAST, ctx: ExportReexportContext) => ExportNamedDeclarationNode;
export declare const exportNamedDeclarationFromAstNode: (instance: BattleScriptFromAST, node: ExportNamedDeclarationNode, _options?: VisitOptions) => string;
//# sourceMappingURL=ExportNamedDeclarationNode.d.ts.map