/// <reference types="yeoman-generator" />
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, string>): string;
    protected compileBackendModuleImports(modules: Map<string, string>): string;
    protected compileModuleImports(modules: Map<string, string>, 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;
}
