import { type SignatureLike } from '@kaiachain/js-ext-core';
import type { Client } from 'viem';
import type { Signature } from 'viem';
import type { ExactPartial } from 'viem';
import type { KaiaTransactionRequest } from './types/transactions.js';
import { KaiaPublicClient, KaiaWalletClient } from './types/client.js';
export declare function isKaiaTransactionRequest(transactionOrRLP: string | KaiaTransactionRequest): transactionOrRLP is KaiaTransactionRequest;
export declare function getTransactionRequestForSigning(client: Client, transactionOrRLP: KaiaTransactionRequest | string): Promise<KaiaTransactionRequest>;
export declare function convertSignatureToKaiaFormat(signature: Signature, chainId: number): SignatureLike;
export declare const getValidRawRpcObj: (txObj: ExactPartial<Pick<KaiaTransactionRequest, "key" | "from" | "to" | "value" | "data" | "type" | "gasLimit" | "gasPrice">>) => Partial<KaiaTransactionRequest>;
export declare const getEstimateGasPayload: (client: KaiaWalletClient & KaiaPublicClient, txObj: ExactPartial<Pick<KaiaTransactionRequest, "key" | "from" | "to" | "value" | "data" | "type" | "codeFormat" | "humanReadable" | "feeRatio">>) => Promise<number>;
