import type { SmartAccountSigner, SignatureRequest } from "@aa-sdk/core"; import { type Address, type Chain, type Hex, type SignableMessage, type TypedData, type TypedDataDefinition } from "viem"; /** * Creates an object with methods for generating a dummy signature, signing user operation hashes, signing messages, and signing typed data. * * @example * ```ts * import { nativeSMASigner } from "@account-kit/smart-contracts"; * import { LocalAccountSigner } from "@aa-sdk/core"; * * const MNEMONIC = "...": * * const account = createModularAccountV2({ config }); * * const signer = LocalAccountSigner.mnemonicToAccountSigner(MNEMONIC); * * const messageSigner = nativeSMASigner(signer, chain, account.address); * ``` * * @param {SmartAccountSigner} signer Signer to use for signing operations * @param {Chain} chain Chain object for the signer * @param {Address} accountAddress address of the smart account using this signer * @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 nativeSMASigner: (signer: SmartAccountSigner, chain: Chain, accountAddress: Address, deferredActionData?: Hex) => { 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; };