import { APIClient } from '@liskhq/lisk-api-client';
import { PartialApplicationConfig } from '../types';
import { Application } from '../application';
import { BaseModule } from '../modules';
import { BasePlugin } from '../plugins/base_plugin';
interface ApplicationEnvConfig {
    modules: BaseModule[];
    plugins?: BasePlugin<any>[];
    config?: PartialApplicationConfig;
    genesisBlockJSON?: Record<string, unknown>;
}
export declare class ApplicationEnv {
    private _application;
    private _dataPath;
    private _ipcClient;
    constructor(appConfig: ApplicationEnvConfig);
    get application(): Application;
    get ipcClient(): APIClient;
    get dataPath(): string;
    startApplication(): Promise<void>;
    stopApplication(options?: {
        clearDB: boolean;
    }): Promise<void>;
    private _initApplication;
}
export declare const createDefaultApplicationEnv: (appEnvConfig: Partial<ApplicationEnvConfig>) => ApplicationEnv;
export {};
