import { EPackage } from '../metamodel/api/epackage.js';
/**
 * Responsible for generating the interface and implementation of an
 * EPackage source file, which provides static access to all the elements
 * of a package in a TMF model.
 *
 * Note that generation of several swathes of the package content
 * are ganged together into a single pass over the model. This owes
 * to the fact that sufficient logic is shared across their computations, largely
 * related to the tracking of IDs for individual elements, that it would
 * be difficult to separate them out.
 */
export declare class TGeneratorPackage {
    rootPackage: EPackage;
    generatePackageContents(pkg: EPackage): string;
    /**
     * User for generating 'get' on the EType for a feature or operation.
     *
     * @param etype
     * @param owningEClass
     * @param pkgToImport
     * @param pkg
     * @returns
     */
    private getterForEType;
    private generateImports;
    /**
     * Sort eclassifiers in such a way that base types are guaranteed to precede derived types so
     * that we can reference feature IDs in correct order
     */
    private sortClassifiersWithBaseTypesFirst;
}
//# sourceMappingURL=tgenerator-package.d.ts.map