///
import * as stream from "stream";
import { Server } from "./server";
import { DuniterDependency, DuniterModule } from "./app/modules/DuniterModule";
export declare class Stacks {
static todoOnRunDone: () => any;
static quickRun(...args: any[]): Promise;
static quickRunGetArgs(): string[];
static onRunDone(): any;
static autoStack(priorityModules?: DuniterModule[]): Stack;
}
export declare function NewDuniterServer(home: string, memory: boolean, overConf: any): Server;
export declare const Statics: {
logger: any;
/**
* Creates a new stack with minimal registrations only.
*/
minimalStack: () => Stack;
/**
* Creates a new stack with core registrations only.
*/
simpleStack: () => Stack;
/**
* Creates a new stack pre-registered with compliant modules found in package.json
*/
autoStack: (...args: any[]) => any;
quickRun: (path: string) => Promise;
setOnRunDone: (f: () => any) => () => any;
};
export interface DuniterService {
startService: () => Promise;
stopService: () => Promise;
}
export interface ReadableDuniterService extends DuniterService, stream.Readable {
}
export interface TransformableDuniterService extends DuniterService, stream.Transform {
}
export declare class Stack {
private dependencies;
private injectedServices;
private cli;
private configLoadingCallbacks;
private configBeforeSaveCallbacks;
private resetDataHooks;
private resetConfigHooks;
private INPUT;
private PROCESS;
private loaded;
private wizardTasks;
private definitions;
private streams;
constructor(dependencies: DuniterModule[]);
getModule(name: string): any;
registerDependency(requiredObject: {
duniter: DuniterDependency;
}, name: string): void;
processCommand(...args: any[]): Promise;
executeStack(argv: string[]): any;
}
export declare const Duniter: {
run(modules?: DuniterModule[], args?: string[] | undefined): any;
};