import * as oasis from '@oasisprotocol/client';
import * as transaction from './transaction';
import * as types from './types';
export declare class TransactionWrapper
{
runtimeID: Uint8Array;
transaction: types.Transaction;
unverifiedTransaction: types.UnverifiedTransaction;
constructor(runtimeID: Uint8Array, method: string);
setBody(body: BODY): this;
setSignerInfo(signerInfo: types.SignerInfo[]): this;
setFeeAmount(amount: types.BaseUnits): this;
setFeeGas(gas: oasis.types.longnum): this;
setFeeConsensusMessages(maxMessages: number): this;
/**
* @param proofProviders An array of providers matching the layout of the
* transaction's signer info.
*/
sign(proofProviders: transaction.ProofProvider[], consensusChainContext: string): Promise;
submit(nic: oasis.client.NodeInternal): Promise;
submitNoWait(nic: oasis.client.NodeInternal): Promise;
/** Encode as eth_sendTransaction params, to use through e.g. MetaMask */
toSubcall(transferValue?: bigint): {
to: "0x0100000000000000000000000000000000000103";
data: `0x${string}`;
value: bigint | undefined;
};
}
export declare class QueryWrapper {
request: oasis.types.RuntimeClientQueryRequest;
constructor(runtimeID: Uint8Array, method: string);
setArgs(args: ARGS): this;
setRound(round: oasis.types.longnum): this;
query(nic: oasis.client.NodeInternal): Promise;
/** Encode as eth_call params, to use through e.g. MetaMask */
toSubcall(): {
to: "0x0100000000000000000000000000000000000103";
data: `0x${string}`;
};
}
export declare class Base {
runtimeID: Uint8Array;
constructor(runtimeID: Uint8Array);
protected call(method: string): TransactionWrapper;
protected query(method: string): QueryWrapper;
}