// Copyright © 2022 Olo Inc. All rights reserved.
// This software is made available under the Olo Pay SDK License (See LICENSE.md file)
import type { TurboModule } from 'react-native';
import { TurboModuleRegistry } from 'react-native';

export interface Spec extends TurboModule {
  // Initialization methods
  initializeOloPay(args: Object): Promise<null>;
  initializeMetadata(args: Object): Promise<null>;

  // Digital Wallet methods
  updateDigitalWalletConfig(args: Object): Promise<null>;
  getDigitalWalletPaymentMethod(args: Object): Promise<Object>;
  isDigitalWalletReady(): Promise<Object>;
  isOloPayInitialized(): Promise<Object>;
  isDigitalWalletInitialized(): Promise<Object>;
}

export default TurboModuleRegistry.getEnforcing<Spec>('OlopaysdkReactNative');
