import { Network } from '../../node_modules/@btc-vision/bitcoin/build/index.js'; import { Address, NetEvent } from '../../node_modules/@btc-vision/transaction/build/index.js'; import { BitcoinInterface } from '../abi/BitcoinInterface.js'; import { BaseContractProperties } from '../abi/interfaces/BaseContractProperties.js'; import { BitcoinInterfaceAbi } from '../abi/interfaces/BitcoinInterfaceAbi.js'; import { BlockGasParameters } from '../block/BlockGasParameters.js'; import { AbstractRpcProvider } from '../providers/AbstractRpcProvider.js'; import { ContractEvents } from '../transactions/interfaces/ITransactionReceipt.js'; import { CallResult } from './CallResult.js'; import { IAccessList } from './interfaces/IAccessList.js'; import { IContract } from './interfaces/IContract.js'; import { ParsedSimulatedTransaction } from './interfaces/SimulatedTransaction.js'; import { OPNetEvent } from './OPNetEvent.js'; import { ContractDecodedObjectResult } from './types/ContractTypes.js'; declare const internal: unique symbol; export declare abstract class IBaseContract implements IContract { readonly address: string | Address; readonly network: Network; readonly interface: BitcoinInterface; readonly provider: AbstractRpcProvider; from?: Address; readonly [internal]: keyof T | undefined; private events; private gasParameters; private readonly fetchGasParametersAfter; private currentTxDetails; private simulatedHeight; private accessList; private _rlAddress; protected constructor(address: string | Address, abi: BitcoinInterface | BitcoinInterfaceAbi, provider: AbstractRpcProvider, network: Network, from?: Address); get p2op(): string; get contractAddress(): Promise
; setSender(sender: Address): void; decodeEvents(events: NetEvent[] | ContractEvents): OPNetEvent[]; decodeEvent(event: NetEvent): OPNetEvent; encodeCalldata(functionName: string, args: unknown[]): Uint8Array; currentGasParameters(): Promise; setTransactionDetails(tx: ParsedSimulatedTransaction): void; setAccessList(accessList: IAccessList): void; setSimulatedHeight(height: bigint | undefined): void; protected getFunction(name: symbol | string): CallResult | undefined | string | number | symbol | Address | Network | (() => Promise) | ((functionName: string, args: unknown[]) => Uint8Array); private getAddressOrThrow; private defineInternalFunctions; private getSelector; private encodeFunctionData; private encodeArray; private encodeTuple; private encodeStruct; private encodeInput; private decodeOutput; private estimateGas; private max; private callFunction; } export declare class BaseContract extends IBaseContract { constructor(address: string | Address, abi: BitcoinInterface | BitcoinInterfaceAbi, provider: AbstractRpcProvider, network: Network, sender?: Address); private proxify; } export declare function getContract(address: string | Address, abi: BitcoinInterface | BitcoinInterfaceAbi, provider: AbstractRpcProvider, network: Network, sender?: Address): BaseContract & Omit>; export {};