///
import Base = require('yeoman-generator');
import { Model } from "./generator-model";
export declare type FileSystem = Base.MemFsEditor;
export declare abstract class AbstractGenerator {
protected readonly model: Model;
constructor(model: Model);
abstract generate(fs: FileSystem): void;
protected srcGen(...paths: string[]): string;
protected backend(...paths: string[]): string;
protected frontend(...paths: string[]): string;
protected compileFrontendModuleImports(modules: Map): string;
protected compileBackendModuleImports(modules: Map): string;
protected compileModuleImports(modules: Map, fn: 'import' | 'require'): string;
protected compileCopyright(): string;
protected node_modulesPath(): string;
protected isWeb(): boolean;
protected isElectron(): boolean;
protected ifWeb(value: string, defaultValue?: string): string;
protected ifElectron(value: string, defaultValue?: string): string;
}