import { DonobuDeploymentEnvironment } from '../models/DonobuDeploymentEnvironment';
/**
 * This class sets up the API for managing DonobuFlow flows.
 */
export declare class AdminApiController {
    private readonly app;
    private server?;
    /**
     * Creates a new instance.
     * @param donobuDeploymentEnvironment The environment in which this application is running in.
     * This has material consequences! If this is set to a value of LOCAL then...
     * - additional API endpoints are registered, of which allow operations that would
     *   otherwise be considered unsafe.
     * - operations around active flows are considered fair game.
     * - no checking for flow ownership is performed, as all flows are considered owned by the
     *   local environment.
     */
    static create(donobuDeploymentEnvironment: DonobuDeploymentEnvironment): Promise<AdminApiController>;
    private constructor();
    /**
     * Serves the API and web assets; this blocks until stop() is called.
     * If the given port is 0, a random port is assigned.
     */
    start(port: number): void;
    /**
     * Stops the server.
     */
    stop(): void;
    private static setupExpressFramework;
    private static prepareEndpoints;
    private static asyncHandler;
}
//# sourceMappingURL=AdminApiController.d.ts.map