import { Properties } from '../properties';
export declare class CodeWriter {
    readonly srcDirectory: string;
    readonly appDirectory: string;
    readonly apiDirectory: string;
    readonly boundedContextName: string;
    readonly moduleName: string;
    readonly moduleNames: string;
    readonly aggregateName: string;
    private project;
    constructor(srcDirectory: string, appDirectory: string, apiDirectory: string, boundedContextName: string, moduleName: string, moduleNames: string, aggregateName: string);
    generateTestingForeignReferences(properties: Properties): void;
    generateBoundedContextBackReferences(properties: Properties): void;
    generateFrontInterface(properties: Properties, { overwrite, }?: {
        overwrite?: boolean;
    }): void;
    generateFrontRoutes(index?: number): void;
    registerFrontNavigation(): void;
    declareDashboardComponents(): void;
    declareFrontBoundedContext(index?: number): void;
    generateFrontNavigation(): void;
    generateDashboardTranslations(properties: Properties, langCode: string): void;
    generateDashboardNavigationTranslation(langCode: string): void;
    /****************************************************************
     * Add import and declare application items in bounded context
     * module.
     *
     * @return void
     ****************************************************************/
    declareApplicationItemsInModule(): void;
    declareBoundedContextModuleInApplicationModule(): void;
    /****************************************************************
     * Add exports of principal application elements to src/index.ts
     * this is to have access to all elements from index.ts
     *
     * @return void
     ****************************************************************/
    declareApplicationItemsExports(): void;
    private getModelArrayArgument;
    private getModuleDecoratorArguments;
    private getImportedDeclarations;
}
