Marmot-TS
    Preparing search index...

    Type Alias MarmotClientOptions<THistory, TMedia>

    MarmotClientOptions: {
        capabilities?: Capabilities;
        clientId?: string;
        cryptoProvider?: CryptoProvider;
        groupStateStore: GenericKeyValueStore<SerializedClientState>;
        inviteStore?: GenericKeyValueStore<StoredInviteEntry>;
        keyPackageStore: GenericKeyValueStore<StoredKeyPackage>;
        network: NostrNetworkInterface;
        signer: EventSigner;
    } & (
        THistory extends undefined
            ? {}
            : { historyFactory: GroupHistoryFactory<THistory> }
    ) & (
        TMedia extends undefined
            ? {}
            : { mediaFactory: GroupMediaFactory<TMedia> }
    )

    Type Parameters

    Type Declaration

    • Optionalcapabilities?: Capabilities

      The capabilities to use for the client

    • OptionalclientId?: string

      Default d tag value (slot identifier) for key package events. Used by KeyPackageManager.create when no explicit d is passed. Set this to a stable per-device string (e.g. "my-app-desktop") so all key packages from this client share a single addressable slot on relays.

    • OptionalcryptoProvider?: CryptoProvider

      The crypto provider to use for cryptographic operations

    • groupStateStore: GenericKeyValueStore<SerializedClientState>

      The backend to store and load the groups from

    • OptionalinviteStore?: GenericKeyValueStore<StoredInviteEntry>

      Key value store for the InviteManager class, if non is provided an InMemoryKeyValueStore is used

    • keyPackageStore: GenericKeyValueStore<StoredKeyPackage>

      The backend for key package private material and publish tracking

    • network: NostrNetworkInterface

      The nostr relay pool to use for the client. Should implement GroupNostrInterface for group operations.

    • signer: EventSigner

      The signer used for the clients identity