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 `registerFidAndSigner` 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 `userAccount` is not provided, the `registerSignature`, `addSignature`, `userAddress`, and `deadline` must be provided. * If the `appAccount` is not provided, the `signedKeyRequestMetadata`, `appAccountAddress`, and `deadline` must be provided. * `deadline` must match the one used to generate the signatures. * * @extension FARCASTER */ export type RegisterFidAndSignerParams = Prettify<{ client: ThirdwebClient; recoveryAddress: Address; signerPublicKey: Hex; chain?: Chain; extraStorage?: bigint | number; disableCache?: boolean; } & ({ userAccount: Account; } | { registerSignature: Hex; addSignature: Hex; userAddress: Address; deadline: bigint; }) & ({ appAccount: Account; } | { signedKeyRequestMetadata: Hex; appAccountAddress: Address; deadline: bigint; })>; /** * Registers a Farcaster fid and signer for the given wallet using the provided app account. * @param options - The options for registering an account. * @returns A prepared transaction object to register the account. * @extension FARCASTER * @example * ```ts * import { registerFidAndSigner } from "thirdweb/extensions/farcaster"; * import { sendTransaction } from "thirdweb"; * * const transaction = registerFidAndSigner({ * client, * userAccount, * appAccount, * recoveryAddress, * signerPublicKey * }); * * await sendTransaction({ transaction, account }); * ``` */ export declare function registerFidAndSigner(options: RegisterFidAndSignerParams): import("../../../transaction/prepare-transaction.js").PreparedTransaction<[], import("abitype").AbiFunction, import("../../../transaction/prepare-transaction.js").PrepareTransactionOptions>; //# sourceMappingURL=registerFidAndSigner.d.ts.map