import * as _metamask_rpc_errors from '@metamask/rpc-errors'; import * as _avalabs_vm_module_types from '@avalabs/vm-module-types'; import { Module, ConstructorParams, Network, GetAddressParams, GetAddressResponse, BuildDerivationPathParams, DeriveAddressParams, DeriveAddressesParams, GetBalancesParams, Manifest, NetworkFees, GetTransactionHistory, RpcRequest } from '@avalabs/vm-module-types'; import { BitcoinProvider } from '@avalabs/core-wallets-sdk'; import { z } from 'zod'; declare class BitcoinModule implements Module { #private; constructor({ environment, approvalController, runtime }: ConstructorParams); getProvider(network: Network): Promise; getAddress({ accountIndex, xpub, walletType, network }: GetAddressParams): Promise; buildDerivationPath(params: BuildDerivationPathParams): Pick>, _avalabs_vm_module_types.NetworkVMType.BITCOIN>; deriveAddress(params: DeriveAddressParams): Promise>>; deriveAddresses(params: DeriveAddressesParams): Promise<_avalabs_vm_module_types.DeriveAddressesResponse>; getBalances({ addresses, currency, network, storage }: GetBalancesParams): Promise<{ [x: string]: Record; }>; getManifest(): Manifest | undefined; getNetworkFee(network: Network): Promise; getTransactionHistory({ address, network }: GetTransactionHistory): Promise<{ transactions: _avalabs_vm_module_types.Transaction[]; }>; getTokens(_: Network): Promise; onRpcRequest(request: RpcRequest, network: Network): Promise<{ error: _metamask_rpc_errors.JsonRpcError<{ cause: unknown; }>; result?: undefined; } | { error: _metamask_rpc_errors.JsonRpcError<_metamask_rpc_errors.OptionalDataWithOptionalCause>; result?: undefined; } | { result: string; error?: undefined; }>; } declare const paramsSchema: z.ZodObject<{ from: z.ZodString; to: z.ZodString; amount: z.ZodNumber; feeRate: z.ZodNumber; }, "strip", z.ZodTypeAny, { amount: number; from: string; to: string; feeRate: number; }, { amount: number; from: string; to: string; feeRate: number; }>; type BitcoinSendTransactionParams = z.infer; declare const calculateGasLimit: (fee: number, feeRate: number) => number; export { BitcoinModule, BitcoinSendTransactionParams, calculateGasLimit };