import { CronManager } from './cron-handler';
import { Express } from 'express';
import http from 'http';
import { Server as WsServer } from 'ws';
import { ApiRouteConfig, EventManager, InternalStateManager, Step } from './types';
import { LockedData } from './locked-data';
export type MotiaServer = {
    app: Express;
    server: http.Server;
    socketServer: WsServer;
    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: InternalStateManager, config: MotiaServerConfig) => Promise<MotiaServer>;
export {};
