import * as d from '../declarations';
export declare class Compiler implements d.Compiler {
    protected ctx: d.CompilerCtx;
    isValid: boolean;
    config: d.Config;
    constructor(rawConfig: d.Config);
    startDevServer(): Promise<{
        browserUrl: string;
    }>;
    build(): Promise<d.BuildResults>;
    on(eventName: 'build', cb: (watchResults?: d.WatchResults) => void): Function;
    on(eventName: 'buildStart', cb: () => void): Function;
    on(eventName: 'buildNoChange', cb: (buildResults: d.BuildNoChangeResults) => void): Function;
    on(eventName: 'buildFinish', cb: (buildResults: d.BuildResults) => void): Function;
    once(eventName: 'buildStart'): Promise<void>;
    once(eventName: 'buildFinish'): Promise<d.BuildResults>;
    once(eventName: 'buildNoChange'): Promise<d.BuildNoChangeResults>;
    off(eventName: string, cb: Function): void;
    trigger(eventName: 'fileUpdate', path: string): void;
    trigger(eventName: 'fileAdd', path: string): void;
    trigger(eventName: 'fileDelete', path: string): void;
    trigger(eventName: 'dirAdd', path: string): void;
    trigger(eventName: 'dirDelete', path: string): void;
    docs(): Promise<void>;
    readonly fs: d.InMemoryFileSystem;
    readonly name: string;
    readonly version: string;
}
