import { IntentPayload } from "../shared-types.js"; import { IIntentSigner } from "../interfaces/intent-signer.js"; import { Account } from "viem"; import { MultiPayloadErc191 } from "@defuse-protocol/contract-types"; //#region src/intents/intent-signer-impl/intent-signer-viem.d.ts type Erc191RawPayload = Pick; type IntentSignerViemConfig = { /** * Instance of viem's Account type * @see https://viem.sh/docs/accounts/local/privateKeyToAccount */ signer: Pick; /** * Optional account ID to be used as signer_id of the intent. * If not provided, the signer_id will be derived from the signer's address. */ accountId?: string; }; declare class IntentSignerViem implements IIntentSigner { private config; readonly standard: "erc191"; constructor(config: IntentSignerViemConfig); signRaw(input: Erc191RawPayload): Promise; /** Builds payload from IntentPayload and signs it via signRaw() */ signIntent(intent: IntentPayload): Promise; } //#endregion export { Erc191RawPayload, IntentSignerViem, IntentSignerViemConfig };