import { Initializer } from "./initializer";
import { Initializers } from "./initializers";
export declare const fatalErrorCode = "FATAL_ACTIONHERO_ERROR";
export declare class Process {
    running: boolean;
    initialized: boolean;
    started: boolean;
    stopped: boolean;
    stopReasons?: string[];
    shuttingDown: boolean;
    bootTime: number;
    initializers: Initializers;
    startCount: number;
    loadInitializers: Initializer["initialize"][];
    startInitializers: Initializer["start"][];
    stopInitializers: Initializer["stop"][];
    constructor();
    initialize(): Promise<void>;
    /**
     * Start the Actionhero Process
     */
    start(): Promise<void>;
    /**
     * Stop the Actionhero Process
     */
    stop(stopReasons?: string | string[]): Promise<void>;
    /**
     * Restart the Actionhero Process
     */
    restart(): Promise<void>;
    /**
     * Register listeners for process signals and uncaught exceptions & rejections.
     * Try to gracefully shut down when signaled to do so
     */
    registerProcessSignals(stopCallback?: (exitCode?: number) => void): void;
    fatalError(errors: NodeJS.ErrnoException | NodeJS.ErrnoException[], type: string): Promise<void>;
    flattenOrderedInitializer<T>(collection: {
        [rank: number]: T[];
    }): T[];
}
