import { Signer as Signer$1, ContractTransactionResponse } from 'ethersV6'; import { Signer, ContractTransaction } from 'ethers'; import { CommandOptions } from './types.js'; import '../utils/supportedChains/index.js'; import '../utils/gasStation/index.js'; import '../utils/network/index.js'; import '../token-registry-functions/types.js'; /** * Transfers ownership of a DocumentStore contract to a new owner. * Supports both Ethers v5 and v6 signers. * Supports three types of document stores: * 1. DocumentStore (ERC-165 compliant) * 2. TransferableDocumentStore (ERC-165 compliant) * 3. TT Document Store (legacy, no ERC-165 support - used as fallback) * @param {string} documentStoreAddress - The address of the DocumentStore contract. * @param {string} account - The account to transfer ownership to. * @param {SignerV5 | SignerV6} signer - Signer instance (Ethers v5 or v6) that authorizes the transfer ownership transaction. * @param {CommandOptions} options - Optional transaction metadata including gas values and chain ID. * @returns {Promise<{grantTransaction: ContractTransactionV5 | ContractTransactionV6; revokeTransaction: ContractTransactionV5 | ContractTransactionV6}>} A promise resolving to the transaction result from the grant and revoke role calls. * @throws {Error} If the document store address or signer provider is not provided. * @throws {Error} If the role is invalid. * @throws {Error} If either the `callStatic.grantRole` or `callStatic.revokeRole` pre-check fails. */ declare const documentStoreTransferOwnership: (documentStoreAddress: string, account: string, signer: Signer | Signer$1, options?: CommandOptions) => Promise<{ grantTransaction: ContractTransaction | ContractTransactionResponse; revokeTransaction: ContractTransaction | ContractTransactionResponse; }>; export { documentStoreTransferOwnership };