import type { XmtpEnv } from "@xmtp/node-sdk"; export declare const DEFAULT_CONVOS_HOME: string; /** * A Convos identity — one per CLI install, shared across all conversations * (per ADR 011: Single-Inbox Identity Model). * * Backed by a single XMTP inbox. All groups and DMs this install participates * in share this identity. To run multiple independent agents on one machine, * point each at a different CONVOS_HOME. */ export interface Identity { /** Local identifier for this identity (hex) — not the XMTP inbox ID. */ id: string; /** Wallet private key (hex with 0x prefix). Signs XMTP and invites. */ walletKey: string; /** Database encryption key (hex). */ dbEncryptionKey: string; /** XMTP inbox ID — populated after first client registration. */ inboxId?: string; /** Human-readable label for this agent/install. */ label?: string; /** Default profile display name used when creating/joining conversations. */ profileName?: string; /** Default profile image URL. */ profileImageUrl?: string; /** Creation timestamp. */ createdAt: string; } export interface IdentityStore { /** Returns the identity if one exists, else undefined. */ load(): Identity | undefined; /** * Returns the existing identity, or creates one if none exists. * If an identity exists and `opts.label` or `opts.profileName` differ from * the stored values, those fields are overwritten. Pass `undefined` (or * omit the field) to leave a field unchanged. */ loadOrUpsert(opts?: { label?: string; profileName?: string; }): Identity; /** Returns true if an identity exists. */ exists(): boolean; /** Merges updates onto the stored identity. Throws if none exists. */ update(updates: Partial): Identity; /** Deletes the identity file and all XMTP database files for this install. */ delete(): void; /** Path where the XMTP database for this identity lives. */ getDbPath(env: XmtpEnv): string; } export declare function createIdentityStore(baseDir?: string): IdentityStore;