import type { CredentialReturn, PublicKeyCredentialCreationOptionsWithoutExtensions, PublicKeyCredentialRequestOptionsWithoutExtensions, PublicKeyCredentialWithAuthenticatorAssertionResponse, PublicKeyCredentialWithAuthenticatorAttestationResponse } from '@clerk/shared/types'; import type { PasskeyMode } from './renderer/strategy'; export type { PasskeyMode, PasskeyPath, StrategyEnv } from './renderer/strategy'; export type CreatePasskeysOptions = { /** * WebAuthn implementation to use: * `auto` chooses renderer WebAuthn for valid HTTPS origins and native WebAuthn otherwise. */ mode?: PasskeyMode; }; export type PasskeySupport = { create: (publicKey: PublicKeyCredentialCreationOptionsWithoutExtensions) => Promise>; get: (args: { publicKeyOptions: PublicKeyCredentialRequestOptionsWithoutExtensions; conditionalUI?: boolean; }) => Promise>; isSupported: () => boolean; isAutoFillSupported: () => Promise; isPlatformAuthenticatorSupported: () => Promise; }; export type ClerkPasskeyHost = { __internal_createPublicCredentials: PasskeySupport['create'] | undefined; __internal_getPublicCredentials: PasskeySupport['get'] | undefined; __internal_isWebAuthnSupported: PasskeySupport['isSupported'] | undefined; __internal_isWebAuthnAutofillSupported: PasskeySupport['isAutoFillSupported'] | undefined; __internal_isWebAuthnPlatformAuthenticatorSupported: PasskeySupport['isPlatformAuthenticatorSupported'] | undefined; }; /** Creates an Electron passkey provider for clerk-js. */ export declare function createPasskeys(options?: CreatePasskeysOptions): PasskeySupport; /** * Ready-to-use passkey implementation for the `ClerkProvider` `passkeys` prop. * Chooses renderer or native WebAuthn automatically per request. * * @example * ```tsx * import { ClerkProvider } from '@clerk/electron/react'; * import { passkeys } from '@clerk/electron/passkeys'; * * * ``` */ export declare const passkeys: PasskeySupport; /** * Wires passkey support into a Clerk instance. Call before `clerk.load()`. * * @example * ```ts * import { Clerk } from '@clerk/clerk-js'; * import { createPasskeyProvider } from '@clerk/electron/passkeys'; * * const clerk = new Clerk(publishableKey); * createPasskeyProvider(clerk); * await clerk.load(); * ``` */ export declare function createPasskeyProvider(clerk: ClerkPasskeyHost, options?: CreatePasskeysOptions): PasskeySupport; //# sourceMappingURL=index.d.ts.map