import type { Room, RoomMessage, Agent } from "../types.js"; export interface Store { init(): Promise; createRoom(id: string, name: string, password?: string): Promise; getRoom(idOrName: string): Promise; getRoomById(id: string): Promise; getRoomsByName(name: string): Promise>; getRoomByNameAndPassword(name: string, password: string): Promise; listRooms(options?: { search?: string; limit?: number; offset?: number; }): Promise<{ rooms: Array<{ name: string; agents: number; createdAt: string; }>; total: number; }>; deleteRoom(id: string): Promise; checkRoomPassword(id: string, password: string): Promise; addAgent(roomId: string, name: string, endpoint?: string): Promise; agentExistsInRoom(roomId: string, name: string): Promise; getAgentToken(roomId: string, name: string): Promise; getAgentByToken(token: string): Promise<{ roomId: string; name: string; endpoint?: string; } | undefined>; removeAgentByToken(token: string): Promise<{ roomId: string; name: string; } | undefined>; removeAgent(roomId: string, name: string): Promise; updateAgentEndpoint(token: string, endpoint?: string): Promise; updateAgentLastSeen(roomId: string, name: string, messageId: string): Promise; getAgentLastSeen(roomId: string, name: string): Promise; getRoomAgents(roomId: string): Promise; addMessage(msg: RoomMessage): Promise; getRoomMessages(roomId: string, limit?: number, offset?: number): Promise<{ messages: RoomMessage[]; total: number; }>; getLatestMessageId(roomId: string): Promise; getMessagesSince(roomId: string, afterMessageId: string): Promise; }