import { IdentityRecordStore, WebCryptoIdentityProvider } from './crypto/webcrypto-identity-provider'; import { InitializeOptions, DropOnAirClient } from './core/types'; export { SDK_VERSION, PROTOCOL_VERSION, PAYLOAD_FORMAT_VERSION } from './version'; /** * An identity whose private key script cannot read, or `null` where the platform * cannot provide one. * * Returns `null` rather than throwing, and rather than quietly handing back a * weaker implementation, because those are the two ways a caller ends up * believing it has a guarantee it does not have. A `null` here means: this engine * cannot do it, carry on with the ordinary path and know that you did. * * Two separate conditions are checked, and both matter. `isSupported` asks * whether the primitive exists. `canPersist` asks whether a key survives being * stored and read back, which WebKit fails for X25519 while reporting the write * as successful. An identity that silently regenerates every load makes every * previous conversation undecryptable, with nothing raised to explain it, so the * check is worth its round trip. * * Migration is the caller's to trigger, via `migrateFromKeyStorage`, because it * removes the raw key and that is not a decision to take on someone's behalf. */ export declare function createSecureIdentity(store?: IdentityRecordStore): Promise; export declare function initialize(options: InitializeOptions): Promise; export type { InitializeOptions, DropOnAirClient, DropOnAirEvent, MessageCallback, EventCallback, DecryptedMessage, KeyStorageAdapter, CallEvent, CallEventType, CallEventCallback, TurnCredentials, BroadcastMessage, BroadcastCallback, GroupInfo, GroupMemberInfo, DecryptedGroupMessage, GroupMessageCallback, GroupCallEvent, GroupCallEventType, GroupCallEventCallback, Room, RoomPolicy, CreateRoomOptions, UpdateRoomOptions, SfuToken, SfuRecording, MessageEditEvent, MessageEditCallback, MessageDeleteEvent, MessageDeleteCallback, GroupMessageEditEvent, GroupMessageEditCallback, GroupMessageDeleteEvent, GroupMessageDeleteCallback, DeviceInfo, ReadReceiptEvent, ReadReceiptCallback, TypingEvent, TypingCallback, SignalEvent, SignalCallback, NotificationClearEvent, NotificationClearCallback, DraftSyncEvent, DraftSyncCallback, } from './core/types'; export type { AttachmentEncryptionType, AttachmentConversationType, AttachmentRef, DeviceWrappedKey, CreateUploadSessionOptions, UploadSession, UploadHandoff, PrepareAttachmentOptions, DownloadedAttachment, DownloadAttachmentOptions, } from './attachment/attachment-types'; export { AttachmentUnavailableError } from './attachment/attachment-types'; export { SseTransport, type SseTransportOptions, type SseFrameHandler, type SseStateHandler, } from './transport/sse-transport'; export { WebTransportTransport, type WebTransportTransportOptions, type WTFrameHandler, type WTStateHandler, } from './transport/webtransport-transport'; export { selectTransport, type TransportLane, type SelectTransportOptions, } from './transport/auto-select'; /** * Identity providers, for a private key that script cannot read. * * Exported so a consumer can construct one deliberately, supply its own record * store, or implement {@link SecureIdentityProvider} against custody of its own. * The platform offers the capability; it does not impose an implementation. */ export { WebCryptoIdentityProvider, IndexedDbIdentityRecordStore, MemoryIdentityRecordStore, type IdentityRecordStore, } from './crypto/webcrypto-identity-provider'; declare const _default: { initialize: typeof initialize; }; export default _default;