import express from 'express'; import http from 'http'; import { StorageProvider } from './storage'; import { Server as SocketIOServer } from 'socket.io'; import type { AgentTARSAppConfig, AgioProviderImpl } from './types'; import type { AgentSession } from './core'; export { express }; /** * Server injection options for dependency injection */ export interface ServerInjectionOptions { /** Custom AGIO provider implementation */ agioProvider?: AgioProviderImpl; } /** * AgentTARSServer - Main server class for Agent TARS * * This class orchestrates all server components including: * - Express application and HTTP server * - API endpoints * - WebSocket communication * - Session management * - Storage integration * - AGIO monitoring integration */ export declare class AgentTARSServer { private app; private server; private io; private isRunning; sessions: Record; storageUnsubscribes: Record void>; private customAgioProvider?; readonly port: number; readonly workspacePath?: string; readonly isDebug: boolean; readonly storageProvider: StorageProvider | null; readonly appConfig: Required; constructor(appConfig: Required, injectionOptions?: ServerInjectionOptions); /** * Get the custom AGIO provider if injected * @returns Custom AGIO provider or undefined */ getCustomAgioProvider(): AgioProviderImpl | undefined; /** * Get the Express application instance * @returns Express application */ getApp(): express.Application; /** * Get the HTTP server instance * @returns HTTP server */ getHttpServer(): http.Server; /** * Get the Socket.IO server instance * @returns Socket.IO server */ getSocketIOServer(): SocketIOServer; /** * Check if the server is currently running * @returns True if server is running */ isServerRunning(): boolean; /** * Get storage information if available * @returns Object containing storage type and path (if applicable) */ getStorageInfo(): { type: string; path?: string; }; /** * Start the server on the configured port * @returns Promise resolving with the server instance */ start(): Promise; /** * Stop the server and clean up all resources * @returns Promise resolving when server is stopped */ stop(): Promise; } //# sourceMappingURL=server.d.ts.map