import { Document as TypeDocument } from "greybel-type-analyzer";
import { IActiveDocument, IActiveDocumentImportGraphNode, IContext, IDocumentMerger } from "../../types";
import { DocumentMergerCache } from "./document-merger-cache";
export declare class DocumentDependencyMergerJob {
    private cache;
    private refs;
    constructor(cache: DocumentMergerCache);
    private mergeDocuments;
    process(node: IActiveDocumentImportGraphNode, context: IContext): TypeDocument;
}
export declare class DocumentDependencyMerger implements IDocumentMerger {
    readonly cache: DocumentMergerCache;
    private pendingJobs;
    constructor(cache: DocumentMergerCache);
    private process;
    build(document: IActiveDocument, context: IContext): Promise<TypeDocument>;
}
