import { Context } from './Context';
import { Module } from './Module';
import { Package } from './Package';
export interface IAssembleContext {
    flush: () => void;
    setFTLModule: (module: Module) => void;
    getFTLModules: () => Array<Module>;
    setFTLGeneratedContent: (content: string) => void;
    getFTLGeneratedContent: () => string;
    getPackageCollection: () => Map<string, Map<string, Package>>;
    collection: {
        modules: Map<string, Module>;
        packages: {
            getAll: (fn: (pkg: Package) => void) => void;
            get: (name: string, version: string) => Package | undefined;
            add: (pkg: Package) => void;
        };
    };
}
export declare enum AssembleState {
    VENDOR_REQUIRED = 0
}
export declare function assembleContext(ctx: Context): IAssembleContext;
