import type { Session } from "../session.js"; export interface SessionStore { get(id: string): Promise; set(id: string, session: Session): Promise; delete(id: string): Promise; getByUser(userId: string): Promise; cleanup(ttlMs: number): Promise; } export interface RateLimitState { allowed: boolean; retryAfterMs?: number; reason?: string; } export interface RateLimiterAdapter { check(key: string): Promise; record(key: string, cost?: number): Promise; reset(key: string): Promise; getStats(key: string): Promise<{ requestsLastMinute: number; requestsLastHour: number; costLastHour: number; }>; } export interface LLMJob { id: string; sessionId: string; messages: unknown[]; tools?: unknown[]; priority?: number; } export interface LLMQueueAdapter { enqueue(job: LLMJob): Promise; onComplete(handler: (jobId: string, result: unknown) => void): void; getQueueLength(): Promise; } export type SocketAdapterType = "memory" | "redis"; //# sourceMappingURL=types.d.ts.map