/** * 面板所需的 stats 依赖接口。 * 由调用方(server.ts)从主进程的 stats 模块注入, * 避免 bun 打包时内联 stats.ts 导致 monitor.mjs 持有独立的状态副本。 */ export interface StatsDeps { statsEmitter: NodeJS.EventEmitter; sessionStats: { requestCount: number; errors: number; totalPromptTokens: number; totalCompletionTokens: number; protocols: Record; }; dailyStats: { requestCount: number; errors: number; totalPromptTokens: number; totalCompletionTokens: number; }; getActiveRequests: () => number; getStreamingRequests: () => number; getLatencyStats: () => { avg: number; p95: number; }; getRequestLog: () => ReadonlyArray<{ timestamp: number; method: string; path: string; protocol: string; model: string; latencyMs: number; inputTokens: number; outputTokens: number; success: boolean; stream?: boolean; pending?: boolean; requestId?: string; ua?: string; error?: string; }>; resetDailyStats: () => void; } interface AppProps { name: string; version: string; onQuit: () => void; stats: StatsDeps; monitorConfig: { port: number; baseUrl: string; anthropicBaseUrl: string; }; } export declare function MonitorApp({ name, version, onQuit, stats, monitorConfig }: AppProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=app.d.ts.map