/// <reference types="node" />
import { IClient } from "../blockchainClient/interface";
import { PubKey } from "../blockchainClient/types";
import { IccfProofObject } from "./types";
/**
 * Creates an ICCF (Inter-Chain Communication Framework) proof transaction.
 * This function generates a proof that a specific transaction has occurred on the source blockchain
 * and constructs an ICCF proof transaction that can be posted to the target blockchain.
 *
 * @param {IClient} client - The client configured to communicate with the management chain.
 * @param {Buffer} txToProveRID - The RID of the transaction to be proven.
 * @param {Buffer} txToProveHash - The hash of the transaction to be proven.
 * @param {PubKey[]} txToProveSigners - An array of public keys representing signers of the transaction to be proven.
 * @param {string} sourceBlockchainRid - The RID of the source blockchain.
 * @param {string} targetBlockchainRid - The RID of the target blockchain.
 * @param {PubKey[]} iccfTxSigners - An array of public keys representing signers of the ICCF proof transaction (optional, default: []).
 * @param {boolean} forceIntraNetworkIccfOperation - Whether to force the ICCF operation to be performed within the same network (optional, default: false).
 * @returns {Promise<IccfProofObject>} A promise that resolves to an ICCF proof object containing the ICCF proof transaction.
 */
export declare function createIccfProofTx(client: IClient, txToProveRID: Buffer, txToProveHash: Buffer, txToProveSigners: PubKey[], sourceBlockchainRid: string, targetBlockchainRid: string, iccfTxSigners?: PubKey[], forceIntraNetworkIccfOperation?: boolean): Promise<IccfProofObject>;
