import type { ComponentType, ErrorInfo, ReactNode } from 'react'; import type { MMKV } from 'react-native-mmkv'; import type { SendbirdUser } from '@sendbird/uikit-utils'; export type LocalCacheStorage = AsyncLocalCacheStorage | MMKVLocalCacheStorage; export type KeyValuePairGet = [string, string | null]; export type KeyValuePairSet = [string, string]; export interface AsyncLocalCacheStorage { getAllKeys(): Promise; getItem(key: string): Promise; setItem(key: string, value: string): Promise; removeItem(key: string): Promise; multiSet?(keyValuePairs: Array): Promise; multiGet?(keys: string[]): Promise; multiRemove?(keys: string[]): Promise; } export type MMKVLocalCacheStorage = Pick & { delete?: (key: string) => void; remove?: (key: string) => void; }; export type ErrorBoundaryProps = { error: Error; errorInfo: ErrorInfo; reset: () => void; }; export type CommonComponent

= ComponentType

; export type MentionedUser = { range: Range; user: SendbirdUser; }; export type Range = { start: number; end: number; }; export declare enum TypingIndicatorType { Text = "text", Bubble = "bubble" }