import { JwtVerifiedCredential, TurnkeyWalletProperties } from '@dynamic-labs/sdk-api-core'; import { WalletConnectorBase } from '../WalletConnectorBase'; type JwtVerifiedCredentialWithSmartWalletRef = JwtVerifiedCredential & { smartWalletRefId?: string; smartWalletRefAddress?: string; }; type SessionKeys = { publicKey: string; privateKey: string; }; export interface ITurnkeyWalletConnector extends WalletConnectorBase { createOrRestoreSessionFetcherFunction?: ({ ignoreRestore, }: { ignoreRestore?: boolean; }) => Promise; removeSessionKeysFunction?: () => Promise; getWebAuthnAttestation(): Promise<{ attestation: { attestationObject: ArrayBuffer; clientDataJson: ArrayBuffer; credentialId: ArrayBuffer; transports: string[]; }; challenge: string; displayName: string; }>; getAuthenticatorHandler(): unknown; getExportHandler(): unknown; email: string | null | undefined; setEmail(email: string | null | undefined): void; clearEmail(): void; phone: string | null | undefined; setPhone(phone: string | null | undefined): void; passkeyIdentifier: string | null | undefined; setPasskeyIdentifier(passkeyIdentifier: string | null | undefined): void; turnkeyAddress: string | undefined; walletProperties: TurnkeyWalletProperties | undefined; verifiedCredential: JwtVerifiedCredentialWithSmartWalletRef | undefined; verifiedCredentials: JwtVerifiedCredentialWithSmartWalletRef[] | undefined; setSessionKeyFetcher(func: () => Promise): void; setSessionKeyRemoveFunction(func: () => Promise): void; removeSessionKeys(): Promise; createOrRestoreSession({ ignoreRestore, }: { ignoreRestore?: boolean; }): Promise; isSessionKeyCompatible(): boolean; isSessionActive(): Promise; sessionKeys: SessionKeys | undefined; signAuthorization(parameters: any): Promise; getTurnkeyClient(): Promise; } export {};