import { type Address, type Chain, type Hex, type SignableMessage, type TypedData, type TypedDataDefinition } from "viem"; import { type ToWebAuthnAccountParameters } from "viem/account-abstraction"; import type { SignatureRequest } from "@aa-sdk/core"; /** * Creates an object with methods for generating a dummy signature, signing user operation hashes, signing messages, and signing typed data. * * @example * ```ts * import { webauthnSigningFunctions } from "@account-kit/smart-contracts"; * import { LocalAccountSigner } from "@aa-sdk/core"; * * const messageSigner = webauthnSigningFunctions(credential, getFn, rpId, chain, account.address, account.signerEntity.entityId); * ``` * * @param {ToWebAuthnAccountParameters} credential the Webauthn public key credential object * @param {ToWebAuthnAccountParameters["getFn"]} getFn function to retrieve the WebAuthn credential * @param {ToWebAuthnAccountParameters["rpId"]} rpId the relying party ID for the WebAuthn credential * @param {Chain} chain Chain object for the signer * @param {Address} accountAddress address of the smart account using this signer * @param {number} entityId the entity id of the signing validation * @param {Hex} deferredActionData optional deferred action data to prepend to the uo signatures * @returns {object} an object with methods for signing operations and managing signatures */ export declare const webauthnSigningFunctions: (credential: ToWebAuthnAccountParameters["credential"], getFn: ToWebAuthnAccountParameters["getFn"], rpId: ToWebAuthnAccountParameters["rpId"], chain: Chain, accountAddress: Address, entityId: number, deferredActionData?: Hex) => { id: string; publicKey: `0x${string}`; getDummySignature: () => Hex; signUserOperationHash: (uoHash: Hex) => Promise; signMessage({ message }: { message: SignableMessage; }): Promise; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: TypedDataDefinition) => Promise; prepareSign: (request: SignatureRequest) => Promise; formatSign: (signature: Hex) => Promise; };