import { TurboModuleRegistry, type TurboModule, type CodegenTypes, } from "react-native"; export interface Spec extends TurboModule { // Events readonly onAuthgearReactNative: CodegenTypes.EventEmitter<{ invocationID: string; url: string; }>; // Methods storageGetItem(key: string): Promise; storageSetItem(key: string, value: string): Promise; storageDeleteItem(key: string): Promise; getDeviceInfo(): Promise; randomBytes(length: number): Promise; sha256String(input: string): Promise; generateUUID(): Promise; openAuthorizeURL( url: string, callbackURL: string, prefersEphemeralWebBrowserSession: boolean ): Promise; openAuthorizeURLWithWebView(options: unknown): Promise; dismiss(): Promise; getAnonymousKey( kid: string | null ): Promise<{ kid: string; alg: string; jwk?: unknown }>; signAnonymousToken(kid: string, tokenData: string): Promise; createBiometricPrivateKey(options: unknown): Promise; signWithBiometricPrivateKey(options: unknown): Promise; removeBiometricPrivateKey(kid: string): Promise; checkBiometricSupported(options: unknown): Promise; // stub is really stub, result is either "true" or "false". checkDPoPSupported(stub: unknown): Promise; createDPoPPrivateKey(options: unknown): Promise; signWithDPoPPrivateKey(options: unknown): Promise; // result is either "true" or "false". checkDPoPPrivateKey(options: unknown): Promise; computeDPoPJKT(options: unknown): Promise; } export default TurboModuleRegistry.getEnforcing("AuthgearReactNative");