UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

68 lines (60 loc) • 1.67 kB
import type { HybridObject } from 'react-native-nitro-modules' export type ContactsPermissionStatus = | 'notDetermined' | 'restricted' | 'denied' | 'authorized' | 'limited' export interface ContactPostalAddress { label: string street: string subLocality: string city: string subAdministrativeArea: string state: string postalCode: string country: string isoCountryCode: string } export interface ContactPostalAddressInput { label?: string street?: string subLocality?: string city?: string subAdministrativeArea?: string state?: string postalCode?: string country?: string isoCountryCode?: string } export interface ContactInfo { identifier: string givenName: string familyName: string phoneNumbers: string[] emailAddresses: string[] postalAddresses: ContactPostalAddress[] } export interface ContactInput { givenName: string familyName: string phoneNumbers: string[] emailAddresses: string[] postalAddresses?: ContactPostalAddressInput[] } export interface ContactChanges { givenName?: string familyName?: string phoneNumbers?: string[] emailAddresses?: string[] postalAddresses?: ContactPostalAddressInput[] } export interface OneContacts extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> { getPermissionStatus(): ContactsPermissionStatus requestPermission(): Promise<ContactsPermissionStatus> pickContact(): Promise<ContactInfo | undefined> search(name: string, limit: number): Promise<ContactInfo[]> create(input: ContactInput): Promise<string> update(identifier: string, changes: ContactChanges): Promise<ContactInfo> remove(identifier: string): Promise<void> }