type AgentPresencePluginOptions = { heartbeatTtlMs?: number; }; type ViteLikeServer = { ws: { send: (event: string, data?: unknown) => void; }; middlewares: { use: (handler: unknown) => void; }; httpServer?: { once: (event: 'listening', listener: () => void) => void; address: () => string | { port: number; } | null; }; config: { root: string; }; }; type ViteLikePlugin = { name: string; apply: 'serve'; configureServer(server: ViteLikeServer): void; transformIndexHtml(html: string): string; closeBundle(): void; }; declare function agentPresence(options?: AgentPresencePluginOptions): ViteLikePlugin; type AgentStatus = 'working' | 'thinking' | 'editing' | 'done'; type AgentPresence = { id: string; name?: string; tool?: string; task?: string; status?: AgentStatus; startedAt?: number; updatedAt?: number; ttlMs?: number; }; type AgentPresenceState = { agents: AgentPresence[]; updatedAt: number; }; type AgentPresenceDiscovery = { url: string; projectRoot: string; pid: number; token: string; }; export { type AgentPresence, type AgentPresenceDiscovery, type AgentPresencePluginOptions, type AgentPresenceState, type AgentStatus, agentPresence as default };