import { CronManager } from './cron-handler';
import { Express } from 'express';
import http from 'http';
import { Server as SocketIOServer } from 'socket.io';
import { StateAdapter } from './state/state-adapter';
import { ApiRouteConfig, EventManager, Step } from './types';
import { LockedData } from './locked-data';
export type MotiaServer = {
    app: Express;
    server: http.Server;
    socketServer: SocketIOServer;
    close: () => Promise<void>;
    removeRoute: (step: Step<ApiRouteConfig>) => void;
    addRoute: (step: Step<ApiRouteConfig>) => void;
    cronManager: CronManager;
};
type MotiaServerConfig = {
    isVerbose: boolean;
};
export declare const createServer: (lockedData: LockedData, eventManager: EventManager, state: StateAdapter, config: MotiaServerConfig) => Promise<MotiaServer>;
export {};
