import type { Address } from "abitype"; import type { Chain } from "../../../chains/types.js"; import type { ThirdwebClient } from "../../../client/client.js"; import type { Hex } from "../../../utils/encoding/hex.js"; import type { Prettify } from "../../../utils/type-utils.js"; import type { Account } from "../../../wallets/interfaces/wallet.js"; /** * Represents the parameters for the `addSigner` function. * * This function can be used wither be provided pre-generated signatures or the wallet accounts directly. * This is done so the helpers can be used when there's no direct access to the account, but signatures can be generated (e.g. engine) * * If the `appAccount` is not provided, the `signedKeyRequestMetadata`, `appAccountAddress` and `deadline` must be provided. * `deadline` must match the one used to generate the signature. * * @extension FARCASTER */ export type AddSignerParams = Prettify<{ client: ThirdwebClient; signerPublicKey: Hex; chain?: Chain; disableCache?: boolean; } & ({ appAccount: Account; } | { signedKeyRequestMetadata: Hex; appAccountAddress: Address; deadline: bigint; })>; /** * Adds farcaster signer for the given account. * @param options - The options for adding the signer. * @returns A prepared transaction object to add the signer to the account. * @extension FARCASTER * @example * ```ts * import { addSigner } from "thirdweb/extensions/farcaster"; * import { sendTransaction } from "thirdweb"; * * const transaction = addSigner({ * client, * appAccount, * signerPublicKey * }); * * await sendTransaction({ transaction, account }); * ``` */ export declare function addSigner(options: AddSignerParams): import("../../../transaction/prepare-transaction.js").PreparedTransaction<[], import("abitype").AbiFunction, import("../../../transaction/prepare-transaction.js").PrepareTransactionOptions>; //# sourceMappingURL=addSigner.d.ts.map