import { ApiKeyStamper } from '@turnkey/api-key-stamper'; import { TSignedRequest, TurnkeyClient } from '@turnkey/http'; import { TurnkeyWalletProperties } from '@dynamic-labs/sdk-api-core'; import { WalletBookSchema } from '@dynamic-labs/wallet-book'; import type { AuthenticatorRecoveryHandler, IEmailWalletConnector, IPasskeyWalletConnector, ISMSWalletConnector } from '@dynamic-labs/wallet-connector-core'; import { ExportHandler, ITurnkeyWalletConnectorStamper, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core'; import { TurnkeyWalletConnectorNameAndKey } from '../../types'; import { JwtVerifiedCredentialWithSmartWalletRef } from '../utils'; export type TurnkeyConnectorBaseProps = { walletBook: WalletBookSchema; appName?: string; }; export type SessionKeys = { publicKey: string; privateKey: string; expirationDate: string; }; type ITurnkeyWalletConnector = IEmailWalletConnector & IPasskeyWalletConnector & ISMSWalletConnector & ITurnkeyWalletConnectorStamper; export declare abstract class TurnkeyWalletConnectorBase extends WalletConnectorBase implements ITurnkeyWalletConnector { requiresNonDynamicEmailOtp: boolean; name: string; isEmbeddedWallet: boolean; static isLoadingSession: boolean; protected __turnkeyClient: TurnkeyClient | undefined; private isLoadingSessionDeferredPromise; private appName; private _email; private _phone; private _passkeyIdentifier; private _verifiedCredential; private _verifiedCredentials; private __authenticatorMethodHandler; static sessionKeys: SessionKeys | undefined; static apiKeyStamper: ApiKeyStamper | undefined; private static __exportHandler; createOrRestoreSessionFetcherFunction: (({ ignoreRestore, walletId, }: { ignoreRestore?: boolean; walletId: string; }) => Promise) | undefined; removeSessionKeysFunction: (() => Promise) | undefined; constructor(nameAndKey: TurnkeyWalletConnectorNameAndKey, props: TurnkeyConnectorBaseProps); getWebAuthnAttestation(): Promise<{ attestation: { attestationObject: string; clientDataJson: string; credentialId: string; transports: import("@dynamic-labs/sdk-api-core").AuthenticatorTransportProtocol[]; }; challenge: string; displayName: string; }>; getAuthenticatorHandler(): AuthenticatorRecoveryHandler; getExportHandler(): ExportHandler; get email(): string | null | undefined; setEmail(email: string | null | undefined): void; get phone(): string | null | undefined; setPhone(phone: string | null | undefined): void; get passkeyIdentifier(): string | null | undefined; setPasskeyIdentifier(passkeyIdentifier: string | null | undefined): void; clearEmail(): void; getAddress(): Promise; getConnectedAccounts(): Promise; get turnkeyAddress(): string | undefined; get walletProperties(): TurnkeyWalletProperties | undefined; set verifiedCredentials(verifiedCredentials: JwtVerifiedCredentialWithSmartWalletRef[] | undefined); get verifiedCredentials(): JwtVerifiedCredentialWithSmartWalletRef[] | undefined; set verifiedCredential(verifiedCredential: JwtVerifiedCredentialWithSmartWalletRef | undefined); get verifiedCredential(): JwtVerifiedCredentialWithSmartWalletRef | undefined; setSessionKeyFetcher(func: ({ ignoreRestore, walletId, }: { ignoreRestore?: boolean; walletId: string; }) => Promise): void; setSessionKeyRemoveFunction(func: () => Promise): void; removeSessionKeys: () => Promise; createOrRestoreSession({ ignoreRestore, }?: { ignoreRestore?: boolean; }): Promise; isSessionKeyCompatible(): boolean; isSessionActive(): Promise; get sessionKeys(): SessionKeys | undefined; stampCreateWalletAccountRequest: ({ request, }: { request: any; }) => Promise; stampDeleteSubOrganizationRequest: ({ request, }: { request: any; }) => Promise; getTurnkeyClient(): Promise; protected setLoggerMetadata(): void; } export {};