import { OperationContentsAndResult, RPCSimulateOperationParam, RpcClientInterface } from '@taquito/rpc'; import { Context } from './context'; import { ForgedBytes, ParamsWithKind, RPCOperation } from './operations/types'; import { PreparedOperation } from './prepare'; import { Estimate } from './estimate'; export declare abstract class Provider { protected context: Context; private clearRpcCache; private parseRpcErrors; private toBigInt; private parseCounterAdjustments; private hasGasLimitTooHighAndBlockExhausted; private patchSimulationGasLimits; private patchSimulationCounters; get rpc(): RpcClientInterface; get signer(): import("@taquito/core").Signer; constructor(context: Context); protected forge({ opOb: { branch, contents, protocol }, counter }: PreparedOperation): Promise<{ opbytes: string; opOb: { branch: string; contents: import("@taquito/rpc").OperationContents[]; protocol: string; }; counter: number; }>; protected estimate({ fee, gasLimit, storageLimit, ...rest }: T, estimator: (param: T) => Promise): Promise<{ fee: number | undefined; gasLimit: number | undefined; storageLimit: number | undefined; }>; getRPCOp(param: ParamsWithKind): Promise; protected simulate(op: RPCSimulateOperationParam, preparedOperation?: PreparedOperation): Promise<{ opResponse: import("@taquito/rpc").PreapplyResponse; op: RPCSimulateOperationParam; context: Context; }>; protected isRevealOpNeeded(op: RPCOperation[] | ParamsWithKind[], pkh: string): Promise; protected isAccountRevealRequired(publicKeyHash: string): Promise; protected isRevealRequiredForOpType(op: RPCOperation[] | ParamsWithKind[]): boolean; protected signAndInject(forgedBytes: ForgedBytes): Promise<{ hash: string; forgedBytes: ForgedBytes; opResponse: OperationContentsAndResult[]; context: Context; }>; private signForgedBytes; private patchForgedBytesCounters; }