@turnkey/sdk-react-native
Version:
React Native SDK
85 lines • 2.9 kB
TypeScript
import { type ReactNode, type FC } from "react";
import type { TurnkeyClient } from "@turnkey/http";
import type { Activity, HashFunction, PayloadEncoding, Session, SignRawPayloadResult, User, WalletAccountParams } from "../types";
export interface TurnkeyContextType {
session: Session | undefined;
client: TurnkeyClient | undefined;
user: User | undefined;
setSelectedSession: (params: {
sessionKey: string;
}) => Promise<Session | undefined>;
updateUser: (params: {
email?: string;
phone?: string;
}) => Promise<Activity>;
refreshUser: () => Promise<void>;
createEmbeddedKey: (params?: {
storageKey?: string;
isCompressed?: boolean;
}) => Promise<string>;
createSession: (params: {
bundle: string;
expirationSeconds?: number;
embeddedStorageKey?: string;
sessionKey?: string;
}) => Promise<Session>;
createSessionFromEmbeddedKey: (params: {
subOrganizationId: string;
embeddedKey?: string;
expirationSeconds?: number;
embeddedStorageKey?: string;
sessionKey?: string;
}) => Promise<Session>;
refreshSession: (params?: {
expirationSeconds?: number;
sessionKey?: string;
}) => Promise<Session>;
clearSession: (params?: {
sessionKey?: string;
}) => Promise<void>;
clearAllSessions: () => Promise<void>;
createWallet: (params: {
walletName: string;
accounts: WalletAccountParams[];
mnemonicLength?: number;
}) => Promise<Activity>;
importWallet: (params: {
walletName: string;
mnemonic: string;
accounts: WalletAccountParams[];
}) => Promise<Activity>;
exportWallet: (params: {
walletId: string;
}) => Promise<string>;
signRawPayload: (params: {
signWith: string;
payload: string;
encoding: PayloadEncoding;
hashFunction: HashFunction;
}) => Promise<SignRawPayloadResult>;
handleGoogleOAuth: (params: {
clientId: string;
nonce: string;
scheme: string;
originUri?: string;
redirectUri?: string;
onSuccess: (oidcToken: string) => void;
}) => Promise<void>;
}
export declare const TurnkeyContext: import("react").Context<TurnkeyContextType | undefined>;
export interface TurnkeyConfig {
apiBaseUrl: string;
organizationId: string;
onSessionCreated?: (session: Session) => void;
onSessionSelected?: (session: Session) => void;
onSessionExpired?: (session: Session) => void;
onSessionCleared?: (session: Session) => void;
onSessionEmpty?: () => void;
onInitialized?: () => void;
onSessionExpiryWarning?: (session: Session) => void;
}
export declare const TurnkeyProvider: FC<{
children: ReactNode;
config: TurnkeyConfig;
}>;
//# sourceMappingURL=TurnkeyContext.d.ts.map