import { ILEObject, ILEObjectTarget, ObjectType, Targets } from '../../targets';
import { CompileData, CommandParameters } from '../environment';
import { iProject } from '../iProject';
import { ReadFileSystem } from '../../readFileSystem';
interface Step {
    object: {
        name: string;
        type: ObjectType;
    };
    relativePath?: string;
    command: string;
}
export declare class MakeProject {
    private cwd;
    private targets;
    private rfs;
    private noChildren;
    private settings;
    private projectActions;
    private folderSettings;
    constructor(cwd: string, targets: Targets, rfs: ReadFileSystem);
    setNoChildrenInBuild(noChildren: boolean): void;
    setupSettings(): Promise<void>;
    getSettings(): iProject;
    getSteps(target: ILEObject | ILEObjectTarget): Step[];
    getObjectAttributes(compileData: CompileData, ileObject: ILEObject): CommandParameters;
    getMakefile(specificObjects?: ILEObject[]): string[];
    generateHeader(): string[];
    generateTargets(partialBuild?: ILEObject[]): string[];
    generateGenericRules(): string[];
    static generateCommand(data: CompileData, ileObject: ILEObjectTarget): string | undefined;
    static generateSpecificTarget(data: CompileData, ileObject: ILEObjectTarget, customAttributes?: CommandParameters): string[];
    private static stripSystem;
    private static resolveCommand;
}
export {};
