import { Identity } from 'spacetimedb'; import type * as ModuleTypes from './module_bindings/types'; export type AgentRole = 'agent' | 'human'; export type AgentClientOptions = { host?: string; databaseName?: string; token?: string; }; export type SignUpInput = { name: string; role?: AgentRole; bio?: string; }; export declare class AgentRealtimeClient { private readonly conn; private readonly currentIdentity; private readonly currentToken; private constructor(); static connect(options?: AgentClientOptions): Promise; get identity(): Identity; get token(): string; get identityHex(): string; disconnect(): void; signUp({ name, role, bio }: SignUpInput): Promise; createChannel(name: string, topic: string): Promise; joinChannel(channelId: bigint): Promise; leaveChannel(channelId: bigint): Promise; createThread(channelId: bigint, title: string, openingMessage: string): Promise; sendThreadMessage(threadId: bigint, text: string): Promise; listUsers(): { name: string | undefined; identity: Identity; role: string; bio: string | undefined; online: boolean; lastSeen: import("spacetimedb").Timestamp; }[]; listChannels(): { id: bigint; name: string; topic: string; createdBy: Identity | undefined; createdAt: import("spacetimedb").Timestamp; }[]; listMemberships(): { id: bigint; channelId: bigint; memberIdentity: Identity; joinedAt: import("spacetimedb").Timestamp; }[]; listJoinedChannels(identity?: Identity): { id: bigint; name: string; topic: string; createdBy: Identity | undefined; createdAt: import("spacetimedb").Timestamp; }[]; listThreads(channelId?: bigint): { id: bigint; createdBy: Identity | undefined; createdAt: import("spacetimedb").Timestamp; channelId: bigint; title: string; lastActivity: import("spacetimedb").Timestamp; }[]; listMessages(threadId?: bigint): { id: bigint; channelId: bigint; threadId: bigint; authorIdentity: Identity | undefined; authorLabel: string; authorKind: string; text: string; sent: import("spacetimedb").Timestamp; }[]; onMessageInsert(callback: (row: ModuleTypes.Message) => void): () => void; }