/// <reference types="node" />
import type { BuildOptions } from './build/options';
import { Clean } from './clean';
import { Cli } from './cli';
import type { CliArgs } from './cli/args';
import { Config } from './config';
import { Create } from './create';
import { EventEmitter } from 'events';
import type { FileOptions } from './file/options';
import { GulpSteps } from './gulp/steps';
import { Linter } from './linter';
import { Log } from '@toreda/log';
import { Run } from './run';
export declare class Build {
    readonly events: EventEmitter;
    readonly cfg: Config;
    readonly run: Run;
    readonly clean: Clean;
    readonly create: Create;
    readonly gulpSteps: GulpSteps;
    readonly linter: Linter;
    readonly log: Log;
    readonly cli: Cli;
    constructor(options: BuildOptions);
    initLog(options?: BuildOptions): Log;
    initEvents(options?: BuildOptions): EventEmitter;
    initConfig(args: CliArgs, options: BuildOptions, baseLog: Log): Config;
    getContents(path: string, options?: FileOptions): Promise<string | null>;
}
