import { Module } from '@nowa/core';
export default class ModuleScript extends Module.Async<ModuleScript.Config> {
    $name: string;
    scripts?: ModuleScript.SingleScript[];
    options?: ModuleScript.IOptions;
    alreadyRun: boolean;
    init(): Promise<void>;
    run(): Promise<void>;
    private _run;
    private _runScript;
    private validateScript;
}
export declare namespace ModuleScript {
    type SingleScript = string | (() => void | Promise<void>);
    interface IOptions {
        parallel?: boolean;
        noWait?: boolean;
        noRetrigger?: boolean;
    }
    type Config = [SingleScript | SingleScript[], IOptions | undefined];
}