import { HaystackCoreImportNode } from './HaystackCoreImportNode';
import { Node } from './Node';
import { InterfaceNode } from './InterfaceNode';
import { DocHeaderNode } from './DocHeaderNode';
import { NamespaceNode } from './NamespaceNode';
import { TypeGuardNode } from './TypeGuardNode';
import { LibsNode } from './LibsNode';
/**
 * Generates a TypeScript document.
 *
 * This is the root node for a document.
 */
export declare class DocNode implements Node {
    #private;
    readonly newLines = 0;
    readonly header: DocHeaderNode;
    readonly import: HaystackCoreImportNode;
    readonly libs: LibsNode;
    addInterface(intNode: InterfaceNode): void;
    addNamespace(nsNode: NamespaceNode): void;
    addTypeGuard(tgNode: TypeGuardNode): void;
    generateCode(out: (code: string) => void): void;
    private addAllValuesToImport;
}
