import { EmitFlags, EmitHelper, Node, SourceFile, SyntaxKind, SynthesizedComment, TextRange } from "../_namespaces/lpc";
/**
 * Sets flags that control emit behavior of a node.
 */
export declare function setEmitFlags<T extends Node>(node: T, emitFlags: EmitFlags): T;
export declare function setSyntheticLeadingComments<T extends Node>(node: T, comments: SynthesizedComment[] | undefined): T;
export declare function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined;
export declare function addSyntheticLeadingComment<T extends Node>(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T;
/**
 * Clears any `EmitNode` entries from parse-tree nodes.
 * @param sourceFile A source file.
 */
export declare function disposeEmitNodes(sourceFile: SourceFile | undefined): void;
/**
 * Gets a custom text range to use when emitting comments.
 */
export declare function getCommentRange(node: Node): TextRange;
/**
 * Gets the EmitHelpers of a node.
 */
export declare function getEmitHelpers(node: Node): EmitHelper[] | undefined;
/**
 * Sets a custom text range to use when emitting comments.
 */
export declare function setCommentRange<T extends Node>(node: T, range: TextRange): T;
//# sourceMappingURL=emitNode.d.ts.map